From 69cc282902b8fe49b2e1fbd9d63ebe18ad4b5117 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 3 Mar 2020 15:36:22 +0100 Subject: [PATCH 001/117] PAR : calage --- DEVELOPERS.md | 13 + package-lock.json | 3705 +++-------------- package.json | 2 +- src/app/app.module.ts | 4 +- src/app/calculators/par/config.json | 41 + src/app/calculators/par/en.json | 68 + src/app/calculators/par/fr.json | 68 + src/app/config.json | 8 + .../images/themes/passe-ralentisseurs.jpg | Bin 0 -> 49927 bytes src/locale/messages.en.json | 6 + src/locale/messages.fr.json | 6 + 11 files changed, 857 insertions(+), 3064 deletions(-) create mode 100644 src/app/calculators/par/config.json create mode 100644 src/app/calculators/par/en.json create mode 100644 src/app/calculators/par/fr.json create mode 100644 src/assets/images/themes/passe-ralentisseurs.jpg diff --git a/DEVELOPERS.md b/DEVELOPERS.md index 306e7fcf3..02d65fee1 100644 --- a/DEVELOPERS.md +++ b/DEVELOPERS.md @@ -183,6 +183,19 @@ Les options peuvent également contenir : * les identifiants des listes déroulantes * l'aide associée aux résultats (voir ci-dessous) +#### champs + +La liste fields contient les champs à afficher, dans l'ordre. Un champ peut être désigné par sa forme courte (son symbole seulement, ex: `"B"`) ou sa forme longue, comme suit : + +```json +{ + "id": "B", + "allowEmpty": false +} +``` + +Définir `allowEmpty` à `true` permet de lancer le calcul même si la valeur du paramètre est laissée vide. Cette option peut être omise si elle vaut `false` (par défaut). + #### aide contextuelle Différents éléments de la configuration peuvent contenir une clé `help` donnant l'URL de l'aide pour l'élément de l'interface graphique concerné : diff --git a/package-lock.json b/package-lock.json index 7bf928081..fdbada216 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -1598,7 +1597,6 @@ "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -1610,7 +1608,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -1632,7 +1629,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -1691,8 +1687,7 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-escapes": { "version": "4.3.1", @@ -1706,14 +1701,12 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -1722,7 +1715,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -1731,7 +1723,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } @@ -1740,7 +1731,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", - "dev": true, "requires": { "ansi-escapes": "^4.2.1", "chalk": "^2.4.2", @@ -1760,32 +1750,27 @@ "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 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "npm-package-arg": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, "requires": { "hosted-git-info": "^2.7.1", "osenv": "^0.1.5", @@ -1796,8 +1781,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -1805,7 +1789,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -1814,7 +1797,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -1824,7 +1806,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -1832,14 +1813,12 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1850,7 +1829,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -1861,7 +1839,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" }, @@ -1869,8 +1846,7 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" } } }, @@ -2175,76 +2151,16 @@ "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, "requires": { "@babel/highlight": "^7.0.0" } }, - "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "requires": { - "minimist": "^1.2.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, "@babel/generator": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "dev": true, "requires": { "@babel/types": "^7.5.5", "jsesc": "^2.5.1", @@ -2256,64 +2172,17 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, - "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", - "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", - "requires": { - "@babel/types": "^7.3.0", - "esutils": "^2.0.0" - } - }, - "@babel/helper-call-delegate": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz", - "integrity": "sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4" - } - }, "@babel/helper-create-regexp-features-plugin": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz", @@ -2376,1076 +2245,112 @@ "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - } - } - }, - "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", - "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", - "requires": { - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" - }, - "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", - "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" - } - }, - "@babel/helpers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", - "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", - "requires": { - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" - } - }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - } - } - }, - "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", - "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.5.5", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", - "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-decorators": "^7.2.0" - } - }, - "@babel/plugin-proposal-do-expressions": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz", - "integrity": "sha512-xe0QQrhm+DGj6H23a6XtwkJNimy1fo71O/YVBfrfvfSl0fsq9T9dfoQBIY4QceEIdUo7u9s7OPEdsWEuizfGeg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-do-expressions": "^7.2.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", - "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" - } - }, - "@babel/plugin-proposal-export-default-from": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz", - "integrity": "sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.2.0" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz", - "integrity": "sha512-TKUdOL07anjZEbR1iSxb5WFh810KyObdd29XLFLGo1IDsSuGrjH3ouWSbAxHNmrVKzr9X71UYl2dQ7oGGcRp0g==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-export-namespace-from": "^7.2.0" - } - }, - "@babel/plugin-proposal-function-bind": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz", - "integrity": "sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-function-bind": "^7.2.0" - } - }, - "@babel/plugin-proposal-function-sent": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz", - "integrity": "sha512-JXdfiQpKoC6UgQliZkp3NX7K3MVec1o1nfTWiCCIORE5ag/QZXhL0aSD8/Y2K+hIHonSTxuJF9rh9zsB6hBi2A==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-wrap-function": "^7.2.0", - "@babel/plugin-syntax-function-sent": "^7.2.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz", - "integrity": "sha512-0w797xwdPXKk0m3Js74hDi0mCTZplIu93MOSfb1ZLd/XFe3abWypx1QknVk0J+ohnsjYpvjH4Gwfo2i3RicB6Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.2.0" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz", - "integrity": "sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz", - "integrity": "sha512-DohMOGDrZiMKS7LthjUZNNcWl8TAf5BZDwZAH4wpm55FuJTHgfqPGdibg7rZDmont/8Yg0zA03IgT6XLeP+4sg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-numeric-separator": "^7.2.0" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", - "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", - "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.2.0" - } - }, - "@babel/plugin-proposal-pipeline-operator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz", - "integrity": "sha512-HFYuu/yGnkn69ligXxU0ohOVvQDsMNOUJs/c4PYLUVS6ntCYOyGmRQQaSYJARJ9rvc7/ulZKIzxd4wk91hN63A==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-pipeline-operator": "^7.5.0" - } - }, - "@babel/plugin-proposal-throw-expressions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz", - "integrity": "sha512-adsydM8DQF4i5DLNO4ySAU5VtHTPewOtNBV3u7F4lNMPADFF9bWQ+iDtUUe8+033cYCUz+bFlQdXQJmJOwoLpw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-throw-expressions": "^7.2.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "regexpu-core": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", - "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" - } - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", - "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-do-expressions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz", - "integrity": "sha512-/u4rJ+XEmZkIhspVuKRS+7WLvm7Dky9j9TvGK5IgId8B3FKir9MG+nQxDZ9xLn10QMBvW58dZ6ABe2juSmARjg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-export-default-from": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", - "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz", - "integrity": "sha512-1zGA3UNch6A+A11nIzBVEaE3DDJbjfB+eLIcf0GGOh/BJr/8NxL3546MGhV/r0RhH4xADFIEso39TKCfEMlsGA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", - "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-function-bind": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz", - "integrity": "sha512-/WzU1lLU2l0wDfB42Wkg6tahrmtBbiD8C4H6EGSX0M4GAjzN6JiOpq/Uh8G6GSoR6lPMvhjM0MNiV6znj6y/zg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-function-sent": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", - "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz", - "integrity": "sha512-Hq6kFSZD7+PHkmBN8bCpHR6J8QEoCuEV/B38AIQscYjgMZkGlXB7cHNFzP5jR4RCh5545yP1ujHdmO7hAgKtBA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", - "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz", - "integrity": "sha512-l/NKSlrnvd73/EL540t9hZhcSo4TULBrIPs9Palju8Oc/A8DXDO+xQf04whfeuZLpi8AuIvCAdpKmmubLN4EfQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", - "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz", - "integrity": "sha512-DroeVNkO/BnGpL2R7+ZNZqW+E24aR/4YWxP3Qb15d6lPU8KDzF8HlIUIRCOJRn4X77/oyW4mJY+7FHfY82NLtQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", - "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-pipeline-operator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz", - "integrity": "sha512-5FVxPiMTMXWk4R7Kq9pt272nDu8VImJdaIzvXFSTcXFbgKWWaOdbic12TvUvl6cK+AE5EgnhwvxuWik4ZYYdzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-throw-expressions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz", - "integrity": "sha512-ngwynuqu1Rx0JUS9zxSDuPgW1K8TyVZCi2hHehrL4vyjqE7RGoNHWlZsS7KQT2vw9Yjk4YLa0+KldBXTRdPLRg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", - "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", - "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "regexpu-core": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", - "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" - } - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz", - "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", - "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", - "requires": { - "@babel/helper-module-transforms": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", - "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", - "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", - "requires": { - "regexp-tree": "^0.1.6" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", - "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", - "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", - "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", - "requires": { - "@babel/helper-builder-react-jsx": "^7.3.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", - "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", - "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", - "requires": { - "regenerator-transform": "^0.14.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "regexpu-core": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", - "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "dev": true }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, "requires": { "jsesc": "~0.5.0" } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true } } }, - "@babel/preset-env": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", - "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.5.5", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.5.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.4.4", - "@babel/types": "^7.5.5", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.5.0" + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "@babel/preset-flow": { + "@babel/helper-get-function-arity": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz", - "integrity": "sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0" + "@babel/types": "^7.0.0" } }, - "@babel/preset-react": { + "@babel/helper-plugin-utils": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", - "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0" + "@babel/types": "^7.4.4" } }, - "@babel/preset-stage-0": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz", - "integrity": "sha512-FBMd0IiARPtH5aaOFUVki6evHiJQiY0pFy7fizyRF7dtwc+el3nwpzvhb9qBNzceG1OIJModG1xpE0DDFjPXwA==" + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "dev": true + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } + } }, "@babel/runtime": { "version": "7.8.4", @@ -3468,6 +2373,7 @@ "version": "7.4.4", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.4.4", @@ -3478,6 +2384,7 @@ "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", + "dev": true, "requires": { "@babel/code-frame": "^7.5.5", "@babel/generator": "^7.5.5", @@ -3494,6 +2401,7 @@ "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, "requires": { "@babel/highlight": "^7.0.0" } @@ -3502,6 +2410,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -3509,12 +2418,14 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -3522,6 +2433,7 @@ "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -3531,7 +2443,8 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true } } }, @@ -3958,7 +2871,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -3967,7 +2879,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", - "dev": true, "requires": { "hosted-git-info": "^3.0.2", "osenv": "^0.1.5", @@ -3978,8 +2889,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -3987,7 +2897,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -3995,14 +2904,12 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -4136,11 +3043,6 @@ "resolved": "https://registry.npmjs.org/@types/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-hkgzYF+qnIl8uTO8rmUSVSfQ8BIfMXC4yJAF4n8BE758YsKBZvFC4NumnAegj7KmylP0liEZNpb9RRGFMbFejA==" }, - "@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" - }, "@types/webpack-sources": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.6.tgz", @@ -4366,8 +3268,7 @@ "@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" }, "JSONStream": { "version": "1.3.5", @@ -4449,7 +3350,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -4458,7 +3358,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", - "dev": true, "requires": { "humanize-ms": "^1.2.1" } @@ -4477,7 +3376,6 @@ "version": "6.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -4607,12 +3505,14 @@ "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -4647,6 +3547,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -4756,21 +3657,6 @@ "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", "dev": true }, - "append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", - "requires": { - "buffer-equal": "^1.0.0" - }, - "dependencies": { - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" - } - } - }, "append-transform": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", @@ -4783,8 +3669,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "arg": { "version": "4.1.3", @@ -4796,6 +3681,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -4813,17 +3699,20 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, "array-differ": { "version": "1.0.0", @@ -4872,7 +3761,8 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "arraybuffer.slice": { "version": "0.0.7", @@ -4889,14 +3779,12 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -4942,13 +3830,13 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "ast-transform": { "version": "0.0.0", @@ -5027,7 +3915,8 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true }, "async-exit-hook": { "version": "2.0.1", @@ -5044,13 +3933,13 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, "autoprefixer": { "version": "9.7.1", @@ -5110,14 +3999,12 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axobject-query": { "version": "2.0.2", @@ -5179,6 +4066,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, "requires": { "object.assign": "^4.1.0" } @@ -5201,22 +4089,12 @@ } } }, - "babelify": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", - "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==" - }, "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, - "bail": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", - "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==" - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -5226,6 +4104,7 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -5240,6 +4119,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -5248,6 +4128,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -5256,6 +4137,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -5264,6 +4146,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -5308,7 +4191,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -5342,7 +4224,8 @@ "binary-extensions": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", + "dev": true }, "blob": { "version": "0.0.5", @@ -5370,8 +4253,7 @@ "bluebird": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" }, "bluebird-lst": { "version": "1.0.9", @@ -5388,38 +4270,6 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, - "body": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", - "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", - "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" - }, - "dependencies": { - "bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", - "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" - }, - "raw-body": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", - "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", - "requires": { - "bytes": "1", - "string_decoder": "0.10" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -5634,6 +4484,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -5651,6 +4502,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -5688,6 +4540,7 @@ "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, "requires": { "resolve": "1.1.7" }, @@ -5695,7 +4548,8 @@ "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true } } }, @@ -5785,6 +4639,7 @@ "version": "4.6.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz", "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==", + "dev": true, "requires": { "caniuse-lite": "^1.0.30000975", "electron-to-chromium": "^1.3.164", @@ -5850,11 +4705,6 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -6002,8 +4852,7 @@ "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" }, "bytes": { "version": "3.0.0", @@ -6087,6 +4936,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -6143,11 +4993,6 @@ } } }, - "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" - }, "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", @@ -6214,7 +5059,8 @@ "caniuse-lite": { "version": "1.0.30000979", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz", - "integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw==" + "integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw==", + "dev": true }, "canonical-path": { "version": "1.0.0", @@ -6231,13 +5077,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "ccount": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz", - "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "cfb": { "version": "1.1.3", @@ -6270,31 +5110,10 @@ } } }, - "character-entities": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", - "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==" - }, - "character-entities-html4": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz", - "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==" - }, - "character-entities-legacy": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", - "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==" - }, - "character-reference-invalid": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", - "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==" - }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "chart.js": { "version": "2.7.3", @@ -6359,6 +5178,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.0", @@ -6378,8 +5198,7 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "chrome-trace-event": { "version": "1.0.2", @@ -6422,6 +5241,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -6433,6 +5253,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -6440,9 +5261,9 @@ } }, "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", "requires": { "source-map": "~0.6.0" }, @@ -6478,14 +5299,12 @@ "cli-spinners": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", - "dev": true + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "clipboard": { "version": "2.0.4", @@ -6502,6 +5321,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, "requires": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", @@ -6511,17 +5331,20 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -6531,6 +5354,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "^3.0.0" } @@ -6540,12 +5364,8 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true }, "clone-deep": { "version": "4.0.1", @@ -6567,21 +5387,6 @@ "mimic-response": "^1.0.0" } }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" - }, - "cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, "coa": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", @@ -6610,7 +5415,8 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "codelyzer": { "version": "5.2.1", @@ -6659,15 +5465,11 @@ } } }, - "collapse-white-space": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", - "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -6736,16 +5538,10 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, - "comma-separated-tokens": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz", - "integrity": "sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==" - }, "commander": { "version": "2.20.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", @@ -6791,7 +5587,8 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true }, "component-inherit": { "version": "0.0.3", @@ -6953,15 +5750,11 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, - "continuable-cache": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", - "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" - }, "convert-source-map": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, "requires": { "safe-buffer": "~5.1.1" } @@ -6982,7 +5775,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -6995,7 +5787,8 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, "copy-webpack-plugin": { "version": "5.1.1", @@ -7656,37 +6449,6 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" }, - "core-js-compat": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", - "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", - "requires": { - "browserslist": "^4.6.6", - "semver": "^6.3.0" - }, - "dependencies": { - "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", - "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" - } - }, - "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -8113,8 +6875,7 @@ "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" }, "d": { "version": "1.0.1", @@ -8127,9 +6888,9 @@ } }, "d3": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-5.11.0.tgz", - "integrity": "sha512-LXgMVUAEAzQh6WfEEOa8tJX4RA64ZJ6twC3CJ+Xzid+fXWLTZkkglagXav/eOoQgzQi5rzV0xC4Sfspd6hFDHA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.15.0.tgz", + "integrity": "sha512-C+E80SL2nLLtmykZ6klwYj5rPqB5nlfN5LdWEAVdWPppqTD8taoJi2PxLZjPeYT8FFRR2yucXq+kBlOnnvZeLg==", "requires": { "d3-array": "1", "d3-axis": "1", @@ -8175,9 +6936,9 @@ "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==" }, "d3-brush": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.3.tgz", - "integrity": "sha512-v8bbYyCFKjyCzFk/tdWqXwDykY8YWqhXYjcYxfILIit085VZOpj4XJKOMccTsvWxgzSLMJQg5SiqHjslsipEDg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.5.tgz", + "integrity": "sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==", "requires": { "d3-dispatch": "1", "d3-drag": "1", @@ -8201,9 +6962,9 @@ "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" }, "d3-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.3.0.tgz", - "integrity": "sha512-NHODMBlj59xPAwl2BDiO2Mog6V+PrGRtBfWKqKRrs9MCqlSkIEb0Z/SfY7jW29ReHTDC/j+vwXhnZcXI3+3fbg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.0.tgz", + "integrity": "sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg==" }, "d3-contour": { "version": "1.3.2", @@ -8214,23 +6975,23 @@ } }, "d3-dispatch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", - "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" }, "d3-drag": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.4.tgz", - "integrity": "sha512-ICPurDETFAelF1CTHdIyiUM4PsyZLaM+7oIBhmyP+cuVjze5vDZ8V//LdOFjg0jGnFIZD/Sfmk0r95PSiu78rw==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", "requires": { "d3-dispatch": "1", "d3-selection": "1" } }, "d3-dsv": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz", - "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", "requires": { "commander": "2", "iconv-lite": "0.4", @@ -8238,9 +6999,9 @@ } }, "d3-ease": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", - "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.6.tgz", + "integrity": "sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==" }, "d3-fetch": { "version": "1.1.2", @@ -8262,45 +7023,45 @@ } }, "d3-format": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", - "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.3.tgz", + "integrity": "sha512-mm/nE2Y9HgGyjP+rKIekeITVgBtX97o1nrvHCWX8F/yBYyevUTvu9vb5pUnKwrcSw7o7GuwMOWjS9gFDs4O+uQ==" }, "d3-geo": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz", - "integrity": "sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==", + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.9.tgz", + "integrity": "sha512-9edcH6J3s/Aa3KJITWqFJbyB/8q3mMlA9Fi7z6yy+FAYMnRaxmC7jBhUnsINxVWD14GmqX3DK8uk7nV6/Ekt4A==", "requires": { "d3-array": "1" } }, "d3-hierarchy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", - "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" }, "d3-interpolate": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", - "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", "requires": { "d3-color": "1" } }, "d3-path": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.8.tgz", - "integrity": "sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" }, "d3-polygon": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", - "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", + "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==" }, "d3-quadtree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.6.tgz", - "integrity": "sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==" }, "d3-random": { "version": "1.1.2", @@ -8330,40 +7091,40 @@ } }, "d3-selection": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz", - "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.1.tgz", + "integrity": "sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==" }, "d3-shape": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz", - "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", "requires": { "d3-path": "1" } }, "d3-time": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz", - "integrity": "sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" }, "d3-time-format": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", - "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.2.3.tgz", + "integrity": "sha512-RAHNnD8+XvC4Zc4d2A56Uw0yJoM7bsvOlJR33bclxq399Rak/b9bhvu/InjxdWhPtkgU53JJcleJTGkNRnN6IA==", "requires": { "d3-time": "1" } }, "d3-timer": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", - "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" }, "d3-transition": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz", - "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", + "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", "requires": { "d3-color": "1", "d3-dispatch": "1", @@ -8418,7 +7179,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -8429,15 +7189,11 @@ "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", "dev": true }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -8445,8 +7201,7 @@ "debuglog": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" }, "decache": { "version": "4.5.1", @@ -8460,12 +7215,14 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true }, "decompress-response": { "version": "3.3.0", @@ -8521,7 +7278,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, "requires": { "clone": "^1.0.2" }, @@ -8529,8 +7285,7 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" } } }, @@ -8552,6 +7307,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8561,6 +7317,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8569,6 +7326,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8577,6 +7335,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -8661,8 +7420,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegate": { "version": "3.2.0", @@ -8715,41 +7473,16 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "detab": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.2.tgz", - "integrity": "sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==", - "requires": { - "repeat-string": "^1.5.4" - } - }, "detect-node": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", "dev": true }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" - } - } - }, "dezalgo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -8844,219 +7577,6 @@ "buffer-indexof": "^1.0.0" } }, - "doctrine-temporary-fork": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz", - "integrity": "sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA==", - "requires": { - "esutils": "^2.0.2" - } - }, - "documentation": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/documentation/-/documentation-12.1.1.tgz", - "integrity": "sha512-OmvNJ6gddKy9K8lx+eA9w+dTxs//vetBnzhaGrTnXbKkE1qgAP0DXaEE8pva2ptSDw3Wa6oDm3C7fKgXdobjPQ==", - "requires": { - "@babel/core": "^7.1.2", - "@babel/generator": "^7.1.3", - "@babel/parser": "7.1.3", - "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-decorators": "^7.1.2", - "@babel/plugin-proposal-do-expressions": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-export-namespace-from": "^7.0.0", - "@babel/plugin-proposal-function-bind": "^7.0.0", - "@babel/plugin-proposal-function-sent": "^7.1.0", - "@babel/plugin-proposal-json-strings": "^7.0.0", - "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-proposal-pipeline-operator": "^7.0.0", - "@babel/plugin-proposal-throw-expressions": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-import-meta": "^7.0.0", - "@babel/preset-env": "^7.1.0", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-react": "^7.0.0", - "@babel/preset-stage-0": "^7.0.0", - "@babel/traverse": "^7.1.4", - "@babel/types": "^7.1.3", - "ansi-html": "^0.0.7", - "babelify": "^10.0.0", - "chalk": "^2.3.0", - "chokidar": "^2.0.4", - "concat-stream": "^1.6.0", - "diff": "^4.0.1", - "doctrine-temporary-fork": "2.1.0", - "get-port": "^4.0.0", - "git-url-parse": "^10.0.1", - "github-slugger": "1.2.0", - "glob": "^7.1.2", - "globals-docs": "^2.4.0", - "highlight.js": "^9.15.5", - "ini": "^1.3.5", - "js-yaml": "^3.10.0", - "lodash": "^4.17.10", - "mdast-util-inject": "^1.1.0", - "micromatch": "^3.1.5", - "mime": "^2.2.0", - "module-deps-sortable": "5.0.0", - "parse-filepath": "^1.0.2", - "pify": "^4.0.0", - "read-pkg-up": "^4.0.0", - "remark": "^9.0.0", - "remark-html": "^8.0.0", - "remark-reference-links": "^4.0.1", - "remark-toc": "^5.0.0", - "resolve": "^1.8.1", - "stream-array": "^1.1.2", - "strip-json-comments": "^2.0.1", - "tiny-lr": "^1.1.0", - "unist-builder": "^1.0.2", - "unist-util-visit": "^1.3.0", - "vfile": "^4.0.0", - "vfile-reporter": "^6.0.0", - "vfile-sort": "^2.1.0", - "vinyl": "^2.1.0", - "vinyl-fs": "^3.0.2", - "vue-template-compiler": "^2.5.16", - "yargs": "^12.0.2" - }, - "dependencies": { - "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==" - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, "dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -9147,6 +7667,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, "requires": { "readable-stream": "^2.0.2" } @@ -9172,7 +7693,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -9483,7 +8003,8 @@ "electron-to-chromium": { "version": "1.3.252", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz", - "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==" + "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==", + "dev": true }, "elementtree": { "version": "0.1.7", @@ -9518,8 +8039,7 @@ "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 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "2.1.0", @@ -9537,7 +8057,6 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, "requires": { "iconv-lite": "~0.4.13" } @@ -9672,8 +8191,7 @@ "err-code": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" }, "errno": { "version": "0.1.7", @@ -9684,19 +8202,11 @@ "prr": "~1.0.1" } }, - "error": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", - "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", - "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -9770,14 +8280,12 @@ "es6-promise": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", - "dev": true + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" }, "es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, "requires": { "es6-promise": "^4.0.3" } @@ -9901,7 +8409,8 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "etag": { "version": "1.8.1", @@ -9969,6 +8478,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, "requires": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", @@ -9983,6 +8493,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { "pump": "^3.0.0" } @@ -10004,6 +8515,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -10018,6 +8530,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -10026,6 +8539,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10239,6 +8753,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -10248,6 +8763,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -10258,7 +8774,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -10269,6 +8784,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10284,6 +8800,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10292,6 +8809,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10300,6 +8818,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10308,6 +8827,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10316,6 +8836,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -10339,8 +8860,7 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "falafel": { "version": "2.1.0", @@ -10383,8 +8903,7 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { "version": "2.2.7", @@ -10408,8 +8927,7 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", @@ -10427,6 +8945,7 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, "requires": { "websocket-driver": ">=0.5.1" } @@ -10443,8 +8962,7 @@ "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" }, "figures": { "version": "2.0.0", @@ -10514,6 +9032,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -10525,6 +9044,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10635,6 +9155,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -10783,7 +9304,8 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "foreach": { "version": "2.0.5", @@ -10794,14 +9316,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -10823,6 +9343,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -10843,7 +9364,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -10875,20 +9395,10 @@ "minipass": "^3.0.0" } }, - "fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", - "requires": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" - } - }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -10905,6 +9415,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, "optional": true, "requires": { "nan": "^2.9.2", @@ -10914,21 +9425,25 @@ "abbrev": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, + "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, + "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -10938,11 +9453,13 @@ "balanced-match": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -10952,31 +9469,37 @@ "chownr": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, + "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, + "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -10985,21 +9508,25 @@ "deep-extend": { "version": "0.6.0", "bundled": true, + "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, + "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, + "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -11008,11 +9535,13 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, + "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -11028,6 +9557,7 @@ "glob": { "version": "7.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -11041,11 +9571,13 @@ "has-unicode": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, + "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -11054,6 +9586,7 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -11062,6 +9595,7 @@ "inflight": { "version": "1.0.6", "bundled": true, + "dev": true, "optional": true, "requires": { "once": "^1.3.0", @@ -11071,16 +9605,19 @@ "inherits": { "version": "2.0.3", "bundled": true, + "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, + "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -11089,11 +9626,13 @@ "isarray": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, + "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -11102,11 +9641,13 @@ "minimist": { "version": "0.0.8", "bundled": true, + "dev": true, "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -11116,6 +9657,7 @@ "minizlib": { "version": "1.2.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -11124,6 +9666,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minimist": "0.0.8" @@ -11132,11 +9675,13 @@ "ms": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "needle": { "version": "2.2.4", "bundled": true, + "dev": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -11147,6 +9692,7 @@ "node-pre-gyp": { "version": "0.10.3", "bundled": true, + "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -11164,6 +9710,7 @@ "nopt": { "version": "4.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "abbrev": "1", @@ -11173,11 +9720,13 @@ "npm-bundled": { "version": "1.0.5", "bundled": true, + "dev": true, "optional": true }, "npm-packlist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -11187,6 +9736,7 @@ "npmlog": { "version": "4.1.2", "bundled": true, + "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -11198,16 +9748,19 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, + "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, + "dev": true, "optional": true, "requires": { "wrappy": "1" @@ -11216,16 +9769,19 @@ "os-homedir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, + "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -11235,16 +9791,19 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "rc": { "version": "1.2.8", "bundled": true, + "dev": true, "optional": true, "requires": { "deep-extend": "^0.6.0", @@ -11256,6 +9815,7 @@ "minimist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true } } @@ -11263,6 +9823,7 @@ "readable-stream": { "version": "2.3.6", "bundled": true, + "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -11277,6 +9838,7 @@ "rimraf": { "version": "2.6.3", "bundled": true, + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -11285,36 +9847,43 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, + "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, + "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, + "dev": true, "optional": true }, "semver": { "version": "5.6.0", "bundled": true, + "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, + "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true, "requires": { "code-point-at": "^1.0.0", @@ -11325,6 +9894,7 @@ "string_decoder": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -11333,6 +9903,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -11341,11 +9912,13 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "tar": { "version": "4.4.8", "bundled": true, + "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", @@ -11360,11 +9933,13 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "string-width": "^1.0.2 || 2" @@ -11373,11 +9948,13 @@ "wrappy": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, + "dev": true, "optional": true } } @@ -11390,8 +9967,7 @@ "genfun": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==" }, "gensync": { "version": "1.0.0-beta.1", @@ -11408,12 +9984,8 @@ "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==" + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true }, "get-stream": { "version": "3.0.0", @@ -11424,49 +9996,17 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } }, - "git-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.1.0.tgz", - "integrity": "sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA==", - "requires": { - "is-ssh": "^1.3.0", - "parse-url": "^3.0.2" - } - }, - "git-url-parse": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.1.0.tgz", - "integrity": "sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ==", - "requires": { - "git-up": "^2.0.0" - } - }, - "github-slugger": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz", - "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==", - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - }, - "dependencies": { - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - } - } - }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -11484,6 +10024,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -11493,29 +10034,13 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "^2.1.0" } } } }, - "glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", - "requires": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" - } - }, "glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", @@ -11575,11 +10100,6 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, - "globals-docs": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.1.tgz", - "integrity": "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==" - }, "globalthis": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", @@ -11690,14 +10210,12 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -11757,6 +10275,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11767,6 +10286,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -11776,6 +10296,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11808,48 +10329,6 @@ "minimalistic-assert": "^1.0.1" } }, - "hast-util-is-element": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz", - "integrity": "sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==" - }, - "hast-util-sanitize": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz", - "integrity": "sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw==", - "requires": { - "xtend": "^4.0.1" - } - }, - "hast-util-to-html": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz", - "integrity": "sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==", - "requires": { - "ccount": "^1.0.0", - "comma-separated-tokens": "^1.0.1", - "hast-util-is-element": "^1.0.0", - "hast-util-whitespace": "^1.0.0", - "html-void-elements": "^1.0.0", - "property-information": "^4.0.0", - "space-separated-tokens": "^1.0.0", - "stringify-entities": "^1.0.1", - "unist-util-is": "^2.0.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "unist-util-is": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", - "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" - } - } - }, - "hast-util-whitespace": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz", - "integrity": "sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA==" - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -11861,11 +10340,6 @@ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", "dev": true }, - "highlight.js": { - "version": "9.15.10", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz", - "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -11938,11 +10412,6 @@ "uglify-js": "^3.5.1" } }, - "html-void-elements": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.4.tgz", - "integrity": "sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ==" - }, "htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", @@ -11985,8 +10454,7 @@ "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" }, "http-deceiver": { "version": "1.2.7", @@ -12009,7 +10477,8 @@ "http-parser-js": { "version": "0.4.10", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true }, "http-proxy": { "version": "1.17.0", @@ -12026,7 +10495,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, "requires": { "agent-base": "4", "debug": "3.1.0" @@ -12036,7 +10504,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -12059,7 +10526,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -12076,7 +10542,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -12086,7 +10551,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -12095,7 +10559,6 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -12103,8 +10566,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -12112,7 +10574,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, "requires": { "ms": "^2.0.0" } @@ -12143,8 +10604,7 @@ "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "ignore": { "version": "3.3.10", @@ -12156,7 +10616,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, "requires": { "minimatch": "^3.0.4" } @@ -12221,8 +10680,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { "version": "4.0.0", @@ -12245,8 +10703,7 @@ "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" }, "inflight": { "version": "1.0.6", @@ -12406,6 +10863,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -12413,13 +10871,13 @@ "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { "version": "2.1.0", @@ -12437,6 +10895,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, "requires": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" @@ -12452,6 +10911,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12460,40 +10920,24 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, - "is-alphabetical": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", - "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==" - }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" - }, - "is-alphanumerical": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", - "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -12501,7 +10945,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-callable": { "version": "1.1.4", @@ -12535,6 +10980,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12543,6 +10989,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12554,15 +11001,11 @@ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, - "is-decimal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", - "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==" - }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -12572,7 +11015,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -12585,12 +11029,14 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -12602,15 +11048,11 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-hexadecimal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", - "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==" - }, "is-installed-globally": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", @@ -12624,13 +11066,13 @@ "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-negated-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true }, "is-npm": { "version": "4.0.0", @@ -12642,6 +11084,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12650,6 +11093,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12688,12 +11132,14 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -12701,8 +11147,7 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, "is-redirect": { "version": "1.0.0", @@ -12727,6 +11172,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, "requires": { "is-unc-path": "^1.0.0" } @@ -12743,18 +11189,11 @@ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", "dev": true }, - "is-ssh": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", - "integrity": "sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==", - "requires": { - "protocols": "^1.1.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "is-svg": { "version": "3.0.0", @@ -12776,13 +11215,13 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, "requires": { "unc-path-regex": "^0.1.2" } @@ -12793,30 +11232,11 @@ "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" - }, - "is-whitespace-character": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", - "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==" - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-word-character": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", - "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-wsl": { "version": "1.1.0", @@ -12849,13 +11269,13 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-api": { "version": "2.1.6", @@ -13362,17 +11782,20 @@ "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -13381,15 +11804,15 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true } } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsesc": { "version": "2.5.2", @@ -13411,25 +11834,17 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "3.3.3", @@ -13471,7 +11886,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -13751,7 +12165,8 @@ "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true }, "latest-version": { "version": "5.1.0", @@ -13768,30 +12183,15 @@ "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==", "dev": true }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, "requires": { "invert-kv": "^2.0.0" } }, - "lead": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", - "requires": { - "flush-write-stream": "^1.0.2" - } - }, "less": { "version": "3.10.3", "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz", @@ -13996,11 +12396,6 @@ } } }, - "livereload-js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", - "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==" - }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -14022,6 +12417,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -14041,7 +12437,8 @@ "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true }, "lodash.memoize": { "version": "4.1.2", @@ -14059,7 +12456,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, "requires": { "chalk": "^2.4.2" } @@ -14106,15 +12502,11 @@ "integrity": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==", "dev": true }, - "longest-streak": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz", - "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -14156,7 +12548,6 @@ "version": "0.25.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", - "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -14180,7 +12571,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, "requires": { "agentkeepalive": "^3.4.1", "cacache": "^12.0.0", @@ -14199,7 +12589,6 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -14222,7 +12611,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -14236,7 +12624,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -14245,7 +12632,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -14253,8 +12639,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -14268,6 +12653,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, "requires": { "p-defer": "^1.0.0" } @@ -14275,7 +12661,8 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-stream": { "version": "0.1.0", @@ -14287,20 +12674,11 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } }, - "markdown-escapes": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", - "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==" - }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" - }, "marked": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", @@ -14353,95 +12731,12 @@ "safe-buffer": "^5.1.2" } }, - "mdast-util-compact": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz", - "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==", - "requires": { - "unist-util-visit": "^1.1.0" - } - }, - "mdast-util-definitions": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz", - "integrity": "sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA==", - "requires": { - "unist-util-visit": "^1.0.0" - } - }, - "mdast-util-inject": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz", - "integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=", - "requires": { - "mdast-util-to-string": "^1.0.0" - } - }, - "mdast-util-to-hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz", - "integrity": "sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==", - "requires": { - "collapse-white-space": "^1.0.0", - "detab": "^2.0.0", - "mdast-util-definitions": "^1.2.0", - "mdurl": "^1.0.1", - "trim": "0.0.1", - "trim-lines": "^1.0.0", - "unist-builder": "^1.0.1", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.0", - "xtend": "^4.0.1" - } - }, - "mdast-util-to-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", - "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==" - }, - "mdast-util-toc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz", - "integrity": "sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==", - "requires": { - "github-slugger": "^1.2.1", - "mdast-util-to-string": "^1.0.5", - "unist-util-is": "^2.1.2", - "unist-util-visit": "^1.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - }, - "github-slugger": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.1.tgz", - "integrity": "sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==", - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - } - }, - "unist-util-is": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", - "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" - } - } - }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -14452,6 +12747,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", @@ -14504,20 +12800,20 @@ "dev": true }, "mermaid": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.2.5.tgz", - "integrity": "sha512-46sb2QeJuKbrgyFNCUElWfgNaoNfpnTtyDk6d9jIvK02mkIXnEW4ZY+xPGa+J1fuIEbNCFPoZBsrpFqkouhoBQ==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.3.1.tgz", + "integrity": "sha512-s3+IQJqpd++hplyz1DVmA68d1ZTUqr1R21EeQldPNtSpRwLuODqI0BxQAt0bI5oiet07lelqfs3FW4ewtIhfKQ==", "requires": { "@braintree/sanitize-url": "^3.1.0", "d3": "^5.7.0", "dagre-d3-renderer": "^0.5.8", "dagre-layout": "^0.8.8", - "documentation": "^12.0.1", "graphlibrary": "^2.2.0", "he": "^1.2.0", "lodash": "^4.17.11", "minify": "^4.1.1", "moment-mini": "^2.22.1", + "prettier": "^1.18.2", "scope-css": "^1.2.1" } }, @@ -14531,6 +12827,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14566,14 +12863,12 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, "requires": { "mime-db": "~1.37.0" } @@ -14667,8 +12962,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "3.1.1", @@ -14718,7 +13012,6 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, "requires": { "minipass": "^2.9.0" }, @@ -14727,7 +13020,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -14736,8 +13028,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -14745,7 +13036,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -14763,6 +13053,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -14772,6 +13063,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -14782,78 +13074,19 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } }, - "module-deps-sortable": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz", - "integrity": "sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg==", - "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.0", - "defined": "^1.0.0", - "detective": "^4.0.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2", - "resolve": "^1.1.3", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - } - } - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "moment": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" }, "moment-mini": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.22.1.tgz", - "integrity": "sha512-OUCkHOz7ehtNMYuZjNciXUfwTuz8vmF1MTbAy59ebf+ZBYZO5/tZKuChVWCX+uDo+4idJBpGltNfV8st+HwsGw==" + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.24.0.tgz", + "integrity": "sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==" }, "morgan": { "version": "1.9.1", @@ -14877,7 +13110,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -14930,12 +13162,14 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", + "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -15085,6 +13319,7 @@ "version": "1.1.29", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz", "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==", + "dev": true, "requires": { "semver": "^5.3.0" } @@ -15113,6 +13348,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -15129,19 +13365,10 @@ "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", "dev": true }, - "now-and-later": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", - "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", - "requires": { - "once": "^1.3.2" - } - }, "npm-bundled": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "dev": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -15160,14 +13387,12 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" }, "npm-package-arg": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", - "dev": true, "requires": { "hosted-git-info": "^2.6.0", "osenv": "^0.1.5", @@ -15179,7 +13404,6 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dev": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1", @@ -15190,7 +13414,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1", "npm-package-arg": "^6.0.0", @@ -15201,7 +13424,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz", "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==", - "dev": true, "requires": { "JSONStream": "^1.3.4", "bluebird": "^3.5.1", @@ -15216,7 +13438,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -15224,14 +13445,12 @@ "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -15239,6 +13458,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, "requires": { "path-key": "^2.0.0" } @@ -15261,18 +13481,19 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-component": { "version": "0.0.3", @@ -15284,6 +13505,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -15294,6 +13516,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -15302,6 +13525,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -15323,6 +13547,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -15342,7 +13567,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -15352,7 +13576,6 @@ "version": "1.17.4", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", - "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -15371,7 +13594,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -15381,20 +13603,17 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -15402,14 +13621,12 @@ "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" } } }, @@ -15417,6 +13634,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -15556,7 +13774,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", - "dev": true, "requires": { "is-wsl": "^2.1.0" }, @@ -15564,8 +13781,7 @@ "is-wsl": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", - "dev": true + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" } } }, @@ -15620,7 +13836,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", - "dev": true, "requires": { "chalk": "^2.4.2", "cli-cursor": "^3.1.0", @@ -15634,14 +13849,12 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -15650,7 +13863,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -15659,7 +13871,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -15669,21 +13880,12 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" } } } }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", - "requires": { - "readable-stream": "^2.0.1" - } - }, "original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -15708,6 +13910,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, "requires": { "execa": "^1.0.0", "lcid": "^2.0.0", @@ -15747,22 +13950,26 @@ "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true }, "p-is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -15771,6 +13978,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -15793,7 +14001,8 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "package-json": { "version": "6.5.0", @@ -15828,7 +14037,6 @@ "version": "9.5.8", "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz", "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==", - "dev": true, "requires": { "bluebird": "^3.5.3", "cacache": "^12.0.2", @@ -15865,7 +14073,6 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -15888,7 +14095,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -15904,7 +14110,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -15913,7 +14118,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -15922,7 +14126,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -15931,14 +14134,12 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -15946,8 +14147,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -15960,7 +14160,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -16006,73 +14205,12 @@ "safe-buffer": "^5.1.1" } }, - "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, "parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true }, - "parse-path": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-3.0.4.tgz", - "integrity": "sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw==", - "requires": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0" - } - }, - "parse-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-3.0.2.tgz", - "integrity": "sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4=", - "requires": { - "is-ssh": "^1.3.0", - "normalize-url": "^1.9.1", - "parse-path": "^3.0.1", - "protocols": "^1.4.0" - }, - "dependencies": { - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - } - } - }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", @@ -16106,7 +14244,8 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-browserify": { "version": "0.0.1", @@ -16117,12 +14256,14 @@ "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -16145,19 +14286,6 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" - }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -16168,6 +14296,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { "pify": "^3.0.0" } @@ -16238,8 +14367,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { "version": "2.0.7", @@ -16250,7 +14378,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, "pinkie": { "version": "2.0.4", @@ -16377,7 +14506,8 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "postcss": { "version": "7.0.21", @@ -16995,6 +15125,11 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + }, "primeng": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.0.tgz", @@ -17016,7 +15151,8 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true }, "process": { "version": "0.11.10", @@ -17048,14 +15184,12 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "promise-retry": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, "requires": { "err-code": "^1.0.0", "retry": "^0.10.0" @@ -17064,8 +15198,7 @@ "retry": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" } } }, @@ -17086,14 +15219,6 @@ "string.prototype.codepointat": "^0.2.0" } }, - "property-information": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", - "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", - "requires": { - "xtend": "^4.0.1" - } - }, "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", @@ -17101,16 +15226,10 @@ "dev": true, "optional": true }, - "protocols": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz", - "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==" - }, "protoduck": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, "requires": { "genfun": "^5.0.0" } @@ -17271,8 +15390,7 @@ "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", - "dev": true + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" }, "public-encrypt": { "version": "4.0.3", @@ -17321,8 +15439,16 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } }, "pupa": { "version": "2.0.1", @@ -17354,6 +15480,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, "requires": { "object-assign": "^4.1.0", "strict-uri-encode": "^1.0.0" @@ -17605,7 +15732,6 @@ "version": "2.0.13", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", - "dev": true, "requires": { "glob": "^7.1.1", "graceful-fs": "^4.1.2", @@ -17618,7 +15744,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", - "dev": true, "requires": { "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0", @@ -17643,7 +15768,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "dev": true, "requires": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", @@ -17655,6 +15779,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -17670,12 +15795,14 @@ "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true }, "regenerate-unicode-properties": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, "requires": { "regenerate": "^1.4.0" } @@ -17690,6 +15817,7 @@ "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, "requires": { "private": "^0.1.6" } @@ -17698,16 +15826,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, - "regexp-tree": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.12.tgz", - "integrity": "sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ==" - }, "regexpu-core": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", @@ -17766,141 +15890,28 @@ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" }, - "remark": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz", - "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==", - "requires": { - "remark-parse": "^5.0.0", - "remark-stringify": "^5.0.0", - "unified": "^6.0.0" - } - }, - "remark-html": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-8.0.0.tgz", - "integrity": "sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg==", - "requires": { - "hast-util-sanitize": "^1.0.0", - "hast-util-to-html": "^4.0.0", - "mdast-util-to-hast": "^3.0.0", - "xtend": "^4.0.1" - } - }, - "remark-parse": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", - "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", - "requires": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - } - }, - "remark-reference-links": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-4.0.4.tgz", - "integrity": "sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ==", - "requires": { - "unist-util-visit": "^1.0.0" - } - }, - "remark-slug": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz", - "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==", - "requires": { - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^1.0.0", - "unist-util-visit": "^1.0.0" - } - }, - "remark-stringify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz", - "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==", - "requires": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^1.0.1", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - } - }, - "remark-toc": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.1.1.tgz", - "integrity": "sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow==", - "requires": { - "mdast-util-toc": "^3.0.0", - "remark-slug": "^5.0.0" - } - }, - "remove-bom-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", - "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", - "requires": { - "is-buffer": "^1.1.5", - "is-utf8": "^0.2.1" - } - }, - "remove-bom-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", - "requires": { - "remove-bom-buffer": "^3.0.0", - "safe-buffer": "^5.1.0", - "through2": "^2.0.3" - } - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -17927,12 +15938,14 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "requires-port": { "version": "1.0.0", @@ -17963,18 +15976,11 @@ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, - "resolve-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", - "requires": { - "value-or-function": "^3.0.0" - } - }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "responselike": { "version": "1.0.2", @@ -18015,7 +16021,8 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "retry": { "version": "0.12.0", @@ -18045,7 +16052,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -18104,7 +16110,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -18113,7 +16118,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, "requires": { "aproba": "^1.1.1" } @@ -18131,20 +16135,21 @@ "tslib": "^1.9.0" } }, + "rxjs-compat": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz", + "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-json-parse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", - "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" - }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -18360,7 +16365,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, "requires": { "semver": "^5.0.0" } @@ -18485,7 +16489,8 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-immediate-shim": { "version": "1.0.1", @@ -18497,6 +16502,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -18508,6 +16514,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -18594,24 +16601,23 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" }, "slugify": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz", - "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.0.tgz", + "integrity": "sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ==" }, "smart-buffer": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -18627,6 +16633,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -18635,6 +16642,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -18642,7 +16650,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -18650,6 +16659,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -18660,6 +16670,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -18668,6 +16679,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -18676,6 +16688,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -18684,6 +16697,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -18696,6 +16710,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -18704,6 +16719,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -18856,7 +16872,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, "requires": { "ip": "1.1.5", "smart-buffer": "^4.1.0" @@ -18866,7 +16881,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "dev": true, "requires": { "agent-base": "~4.2.1", "socks": "~2.3.2" @@ -18876,7 +16890,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -18887,6 +16900,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, "requires": { "is-plain-obj": "^1.0.0" } @@ -18900,8 +16914,7 @@ "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "source-map-loader": { "version": "0.2.4", @@ -18917,6 +16930,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -18946,18 +16960,13 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "space-separated-tokens": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz", - "integrity": "sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA==" + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spdx-correct": { "version": "3.1.0", @@ -19081,6 +17090,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -19088,7 +17098,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "ssf": { "version": "0.10.2", @@ -19102,7 +17113,6 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -19137,11 +17147,6 @@ "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", "dev": true }, - "state-toggle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", - "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==" - }, "static-eval": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz", @@ -19183,6 +17188,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -19192,6 +17198,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -19226,51 +17233,17 @@ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "dev": true, "requires": { - "vlq": "^0.2.2" - } - } - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - }, - "stream-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz", - "integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=", - "requires": { - "readable-stream": "~2.1.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "readable-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", - "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", - "requires": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" + "vlq": "^0.2.2" } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -19290,20 +17263,10 @@ "duplexer": "~0.1.1" } }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -19371,12 +17334,8 @@ "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true }, "string-width": { "version": "2.1.1", @@ -19424,7 +17383,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -19434,7 +17392,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -19448,21 +17405,11 @@ "safe-buffer": "~5.1.0" } }, - "stringify-entities": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", - "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", - "requires": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -19483,12 +17430,14 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "style-loader": { "version": "1.0.0", @@ -19613,21 +17562,6 @@ "when": "~3.6.x" } }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "requires": { - "minimist": "^1.1.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, "sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -19658,6 +17592,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -19730,8 +17665,7 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "tapable": { "version": "1.1.3", @@ -19796,7 +17730,6 @@ "version": "4.4.13", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dev": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -19811,7 +17744,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, "requires": { "minipass": "^2.6.0" } @@ -19820,7 +17752,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -19829,8 +17760,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -20098,15 +18028,6 @@ "xtend": "~4.0.1" } }, - "through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - }, "thunky": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", @@ -20152,52 +18073,14 @@ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "dev": true }, - "tiny-lr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", - "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", - "requires": { - "body": "^5.1.0", - "debug": "^3.1.0", - "faye-websocket": "~0.10.0", - "livereload-js": "^2.3.0", - "object-assign": "^4.1.0", - "qs": "^6.4.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } }, - "to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", - "requires": { - "is-absolute": "^1.0.0", - "is-negated-glob": "^1.0.0" - } - }, "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", @@ -20220,6 +18103,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -20228,6 +18112,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -20244,6 +18129,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -20255,19 +18141,12 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } }, - "to-through": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", - "requires": { - "through2": "^2.0.3" - } - }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -20278,7 +18157,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -20287,8 +18165,7 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" } } }, @@ -20304,30 +18181,11 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "trim-lines": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.2.tgz", - "integrity": "sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ==" - }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "trim-trailing-lines": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", - "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==" - }, - "trough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", - "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==" + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true }, "truncate-utf8-bytes": { "version": "1.0.2", @@ -20339,9 +18197,9 @@ } }, "try-catch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.0.tgz", - "integrity": "sha512-RPXpVjsbtWgymwGq5F/OWDFsjEzdvzwHFaMjWWW6f/p6+uk/N7YSKJHQfIfGqITfj8qH4cBqCLMnhKZBaKk7Kg==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz", + "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==" }, "try-to-catch": { "version": "1.1.1", @@ -20475,7 +18333,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -20483,8 +18340,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type": { "version": "1.2.0", @@ -20584,31 +18440,25 @@ "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true }, "underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, - "unherit": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", - "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", - "requires": { - "inherits": "^2.0.1", - "xtend": "^4.0.1" - } - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" @@ -20617,7 +18467,8 @@ "unicode-match-property-value-ecmascript": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true }, "unicode-properties": { "version": "1.3.1", @@ -20650,7 +18501,8 @@ "unicode-property-aliases-ecmascript": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true }, "unicode-trie": { "version": "1.0.0", @@ -20670,36 +18522,11 @@ } } }, - "unified": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", - "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", - "trough": "^1.0.0", - "vfile": "^2.0.0", - "x-is-string": "^0.1.0" - }, - "dependencies": { - "vfile": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", - "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", - "requires": { - "is-buffer": "^1.1.4", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - } - } - } - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -20723,7 +18550,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -20732,20 +18558,10 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, "requires": { "imurmurhash": "^0.1.4" } }, - "unique-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", - "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", - "requires": { - "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "^3.0.0" - } - }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -20755,63 +18571,10 @@ "crypto-random-string": "^1.0.0" } }, - "unist-builder": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.4.tgz", - "integrity": "sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==", - "requires": { - "object-assign": "^4.1.0" - } - }, - "unist-util-generated": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", - "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==" - }, - "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - }, - "unist-util-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz", - "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==" - }, - "unist-util-remove-position": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", - "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", - "requires": { - "unist-util-visit": "^1.1.0" - } - }, - "unist-util-stringify-position": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", - "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" - }, - "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "requires": { - "unist-util-visit-parents": "^2.0.0" - } - }, - "unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", - "requires": { - "unist-util-is": "^3.0.0" - } - }, "universal-analytics": { "version": "0.4.20", "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", - "dev": true, "requires": { "debug": "^3.0.0", "request": "^2.88.0", @@ -20822,7 +18585,6 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -20830,8 +18592,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -20862,6 +18623,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -20871,6 +18633,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -20881,6 +18644,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -20890,7 +18654,8 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true } } }, @@ -20903,7 +18668,8 @@ "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true }, "update-notifier": { "version": "4.1.0", @@ -21092,7 +18858,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -21100,7 +18865,8 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url": { "version": "0.11.0", @@ -21150,7 +18916,8 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "useragent": { "version": "2.3.0", @@ -21186,7 +18953,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3" } @@ -21277,8 +19043,7 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "valid-identifier": { "version": "0.0.2", @@ -21299,16 +19064,10 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, "requires": { "builtins": "^1.0.3" } }, - "value-or-function": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" - }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -21325,179 +19084,12 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "vfile": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz", - "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - }, - "unist-util-stringify-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", - "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", - "requires": { - "@types/unist": "^2.0.2" - } - }, - "vfile-message": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz", - "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==", - "requires": { - "@types/unist": "^2.0.2", - "unist-util-stringify-position": "^2.0.0" - } - } - } - }, - "vfile-location": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", - "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==" - }, - "vfile-message": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", - "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", - "requires": { - "unist-util-stringify-position": "^1.1.1" - } - }, - "vfile-reporter": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", - "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", - "requires": { - "repeat-string": "^1.5.0", - "string-width": "^4.0.0", - "supports-color": "^6.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-sort": "^2.1.2", - "vfile-statistics": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "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==" - }, - "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==" - }, - "string-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^5.2.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "unist-util-stringify-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", - "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", - "requires": { - "@types/unist": "^2.0.2" - } - } - } - }, - "vfile-sort": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz", - "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==" - }, - "vfile-statistics": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz", - "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==" - }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - }, - "vinyl-fs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", - "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", - "requires": { - "fs-mkdirp-stream": "^1.0.0", - "glob-stream": "^6.1.0", - "graceful-fs": "^4.0.0", - "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.0", - "lead": "^1.0.0", - "object.assign": "^4.0.4", - "pumpify": "^1.3.5", - "readable-stream": "^2.3.3", - "remove-bom-buffer": "^3.0.0", - "remove-bom-stream": "^1.2.0", - "resolve-options": "^1.1.0", - "through2": "^2.0.0", - "to-through": "^2.0.0", - "value-or-function": "^3.0.0", - "vinyl": "^2.0.0", - "vinyl-sourcemap": "^1.1.0" - } - }, - "vinyl-sourcemap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", - "requires": { - "append-buffer": "^1.0.2", - "convert-source-map": "^1.5.0", - "graceful-fs": "^4.1.6", - "normalize-path": "^2.1.1", - "now-and-later": "^2.0.0", - "remove-bom-buffer": "^3.0.0", - "vinyl": "^2.0.0" - } - }, "viz.js": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz", @@ -21522,15 +19114,6 @@ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true }, - "vue-template-compiler": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz", - "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==", - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, "watchpack": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", @@ -21555,7 +19138,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, "requires": { "defaults": "^1.0.3" } @@ -22030,6 +19612,7 @@ "version": "0.7.3", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, "requires": { "http-parser-js": ">=0.4.0 <0.4.11", "safe-buffer": ">=5.1.0", @@ -22039,7 +19622,8 @@ "websocket-extensions": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true }, "when": { "version": "3.6.4", @@ -22058,7 +19642,8 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "widest-line": { "version": "2.0.1", @@ -22207,6 +19792,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -22216,6 +19802,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -22224,6 +19811,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -22259,11 +19847,6 @@ "ultron": "~1.1.0" } }, - "x-is-string": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", - "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" - }, "xdg-basedir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", diff --git a/package.json b/package.json index 09c424fe7..2047c6dbd 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,8 @@ "jalhyd": "file:../jalhyd", "material-design-icons": "^3.0.1", "mathjax": "^2.7.7", - "mermaid": "^8.2.5", "ngx-konami": "^1.7.1", + "mermaid": "^8.3.1", "ngx-markdown": "^9.0.0", "ngx-material-file-input": "^2.1.0", "ngx-matomo": "^0.1.4", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 8509d10d6..9f73b89bf 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input"; import { DragDropModule } from "@angular/cdk/drag-drop"; import { TableModule } from "primeng/table"; -import { KonamiModule } from "ngx-konami"; +/* import { KonamiModule } from "ngx-konami"; */ import { MarkdownModule, MarkedOptions } from "ngx-markdown"; import { FlexLayoutModule } from "@angular/flex-layout"; @@ -173,7 +173,7 @@ const appRoutes: Routes = [ ), StorageServiceModule, TableModule, - KonamiModule + // KonamiModule ], declarations: [ // composants, pipes et directives AppComponent, diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json new file mode 100644 index 000000000..21944de32 --- /dev/null +++ b/src/app/calculators/par/config.json @@ -0,0 +1,41 @@ +[ + { + "id": "fs_param_hydro", + "type": "fieldset", + "fields": [ + "Q", + "Z1", + { + "id": "Z2", + "allowEmpty": true + } + ] + }, + { + "id": "fs_geometry", + "type": "fieldset", + "fields": [ + { + "type": "select", + "id": "select_par_type", + "property": "parType", + "default": "PLANE" + }, + "ZD1", + "S", + { + "id": "P", + "allowEmpty": true + }, + "L", + "a", + "N", + "M" + ] + }, + { + "type": "options", + "selectIds": [ "select_par_type" ], + "help": "par/par.html" + } +] diff --git a/src/app/calculators/par/en.json b/src/app/calculators/par/en.json new file mode 100644 index 000000000..112496a3e --- /dev/null +++ b/src/app/calculators/par/en.json @@ -0,0 +1,68 @@ +{ + "fs_param_hydro": "Hydraulic parameters", + + "Q": "Flow", + "Z1": "Upstream water elevation", + "Z2": "Downstream water elevation", + + "fs_geometry": "Pass geometry", + + "ZD1": "Upstream spilling elevation", + "S": "Slope", + "P": "Space between baffles", + "L": "Pass width", + "a": "Baffle / chevron height", + "N": "Number of patterns", + "M": "Number of longitudinal strips", + + "h": "Water level in the pass", + "ha": "Upstream head", + "qStar": "Dimensionless flow", + "V": "Flow velocity", + "Nb": "Number of baffles", + "ZR1": "Upstream apron elevation", + "ZD2": "Downstream spilling elevation", + "ZR2": "Downstream apron elevation", + "ZM": "Minimal rake height of upstream side walls", + "LPI": "Pass length following the slope", + "LPH": "Pass length in horizontal projection", + "A": "A", + "B": "B", + "C": "C", + "D": "D", + "H": "Baffle height", + "Hmin": "Hmin", + "Hmax": "Hmax", + + "select_par_type": "Type de passe", + "select_par_type_0": "Plane baffles", + "select_par_type_1": "Fatou", + "select_par_type_2": "Superactive", + "select_par_type_3": "Mixed / chevrons", + + "UNIT_ZD1": "m", + "UNIT_S": "m/m", + "UNIT_P": "m", + "UNIT_L": "m", + "UNIT_a": "m", + "UNIT_N": "", + "UNIT_M": "", + + "UNIT_H": "m", + "UNIT_HA": "m", + "UNIT_QSTAR": "m³/s", + "UNIT_V": "m/s", + "UNIT_ZM": "m", + "UNIT_ZR1": "m", + "UNIT_A": "m", + "UNIT_B": "m", + "UNIT_C": "m", + "UNIT_D": "m", + "UNIT_HMIN": "m", + "UNIT_HMAX": "m", + "UNIT_NB": "", + "UNIT_ZD2": "m", + "UNIT_ZR2": "m", + "UNIT_LPI": "m", + "UNIT_LPH": "m" +} \ No newline at end of file diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json new file mode 100644 index 000000000..25946d0b2 --- /dev/null +++ b/src/app/calculators/par/fr.json @@ -0,0 +1,68 @@ +{ + "fs_param_hydro": "Paramètres hydrauliques", + + "Q": "Débit", + "Z1": "Cote de l'eau amont", + "Z2": "Cote de leau aval", + + "fs_geometry": "Géométrie de la passe", + + "ZD1": "Cote de déversement à l'amont", + "S": "Pente", + "P": "Espacement entre les ralentisseurs", + "L": "Largeur de la passe", + "a": "Hauteur des ralentisseurs / des chevrons", + "N": "Nombre de motifs", + "M": "Nombre de bandes longitudinales", + + "h": "Hauteur d'eau dans la passe", + "ha": "Charge amont", + "qStar": "Débit adimensionnel", + "V": "Vitese débitante", + "Nb": "Nombre de ralentisseurs", + "ZR1": "Cote de radier à l'amont", + "ZD2": "Cote de déversement à l'aval", + "ZR2": "Cote de radier à l'aval", + "ZM": "Cote d'arase minimale des murs latéraux à l'amont", + "LPI": "Longueur de la passe en suivant la pente", + "LPH": "Longueur de la passe en projection horizontale", + "A": "A", + "B": "B", + "C": "C", + "D": "D", + "H": "Hauteur d'un ralentisseur", + "Hmin": "Hmin", + "Hmax": "Hmax", + + "select_par_type": "Type de passe", + "select_par_type_0": "Ralentisseurs plans", + "select_par_type_1": "Fatou", + "select_par_type_2": "Ralentisseurs suractifs", + "select_par_type_3": "Mixte / chevrons", + + "UNIT_ZD1": "m", + "UNIT_S": "m/m", + "UNIT_P": "m", + "UNIT_L": "m", + "UNIT_a": "m", + "UNIT_N": "", + "UNIT_M": "", + + "UNIT_H": "m", + "UNIT_HA": "m", + "UNIT_QSTAR": "m³/s", + "UNIT_V": "m/s", + "UNIT_ZM": "m", + "UNIT_ZR1": "m", + "UNIT_A": "m", + "UNIT_B": "m", + "UNIT_C": "m", + "UNIT_D": "m", + "UNIT_HMIN": "m", + "UNIT_HMAX": "m", + "UNIT_NB": "", + "UNIT_ZD2": "m", + "UNIT_ZR2": "m", + "UNIT_LPI": "m", + "UNIT_LPH": "m" +} \ No newline at end of file diff --git a/src/app/config.json b/src/app/config.json index b16755e70..5b52889a2 100644 --- a/src/app/config.json +++ b/src/app/config.json @@ -17,6 +17,14 @@ }, "calculators": [ 12, 13, 6, 5, 10, 15 ] }, + { + "name": "PASSE_A_RALENTISSEURS", + "image": { + "path": "passe-ralentisseurs.jpg", + "credits": "????" + }, + "calculators": [ 28 ] + }, { "name": "PASSE_NATURELLE", "image": { diff --git a/src/assets/images/themes/passe-ralentisseurs.jpg b/src/assets/images/themes/passe-ralentisseurs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e6170a36d986651d72620fcd2a7e152fe733f1d9 GIT binary patch literal 49927 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 Nw@<T=#RC7W{ttTfO1=O9 literal 0 HcmV?d00001 diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 92a3ba1fe..65e40abcb 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -32,6 +32,7 @@ "ERROR_PAB_CALC_Z1_CLOISON": "Error in calculating the upstream water elevation of a wall", "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall", + "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "P value deviates by more than 10% from standard value %stdP%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value", "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value", @@ -378,6 +379,8 @@ "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power", "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures", "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures", + "INFO_PAR_TITRE": "Humpback fishway: setup", + "INFO_PAR_TITRE_COURT": "HF: setup", "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation", "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions", "INFO_PARAMFIELD_CALCULATED": "Calculated", @@ -476,6 +479,8 @@ "INFO_THEME_OUTILS_MATHEMATIQUES_DESCRIPTION": "Miscellaneous generic mathematical tools", "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Tools for sizing a fish pass made with pools also called fish steps", "INFO_THEME_PASSE_A_BASSIN_TITRE": "Fish ladder", + "INFO_THEME_PASSE_A_RALENTISSEURS_TITRE": "Humpback fishway", + "INFO_THEME_PASSE_A_RALENTISSEURS_DESCRIPTION": "Humpback fishway", "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Tools for sizing a natural fish pass also called macroroughness pass or rock-ramp fish pass", "INFO_THEME_PASSE_NATURELLE_TITRE": "Natural pass", "INFO_TITREJOURNAL": "Calculation log", @@ -490,6 +495,7 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length", "INFO_EXAMPLES_TITLE": "Examples", "INFO_EXAMPLES_SUBTITLE": "Load standard examples", + "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored", "INFO_YAXB_TITRE": "Linear function", "INFO_YAXB_TITRE_COURT": "Linear f.", "INFO_TRIGO_TITRE": "Trigonometric function", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 27088491c..63ba40050 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -32,6 +32,7 @@ "ERROR_PAB_CALC_Z1_CLOISON": "Erreur de calcul de la cote de l'eau amont d'une cloison", "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison", + "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "La valeur de P s'écarte de plus de 10% de la valeur standard %stdP%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique", "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive", @@ -377,6 +378,8 @@ "INFO_PABPUISSANCE_TITRE": "Passe à bassins : puissance dissipée", "INFO_PARALLELSTRUCTURE_TITRE_COURT": "Ouvrages", "INFO_PARALLELSTRUCTURE_TITRE": "Lois d'ouvrages", + "INFO_PAR_TITRE": "Passe à ralentisseurs : calage", + "INFO_PAR_TITRE_COURT": "PAR : calage", "INFO_PARAMFIELD_AWAITING_CALCULATION": "En attente de calcul", "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Conditions aux limites", "INFO_PARAMFIELD_CALCULATED": "Calculé", @@ -475,6 +478,8 @@ "INFO_THEME_OUTILS_MATHEMATIQUES_DESCRIPTION": "Divers outils mathématiques génériques", "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe à bassins ou encore appelée échelle à poisson", "INFO_THEME_PASSE_A_BASSIN_TITRE": "Passe à bassins", + "INFO_THEME_PASSE_A_RALENTISSEURS_TITRE": "Passe à ralentisseurs", + "INFO_THEME_PASSE_A_RALENTISSEURS_DESCRIPTION": "Passe à ralentisseurs", "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe naturelle ou encore appelée passe à macro-rugosités", "INFO_THEME_PASSE_NATURELLE_TITRE": "Passe naturelle", "INFO_TITREJOURNAL": "Journal de calcul", @@ -489,6 +494,7 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir", "INFO_EXAMPLES_TITLE": "Exemples", "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types", + "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée", "INFO_YAXB_TITRE": "Fonction affine", "INFO_YAXB_TITRE_COURT": "F. affine", "INFO_TRIGO_TITRE": "Fonction trigonométrique", -- GitLab From 72825dd9850031fa9488a6036683f68f85f9ee99 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Wed, 4 Mar 2020 14:39:21 +0100 Subject: [PATCH 002/117] Irstea => Inrae --- electron-builder.yml | 2 +- package.json | 2 +- src/app/config.json | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/electron-builder.yml b/electron-builder.yml index b74f49dd2..74a71839f 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -33,7 +33,7 @@ linux: icon: dist deb: - maintainer: irstea + maintainer: Inrae mac: target: zip diff --git a/package.json b/package.json index 2047c6dbd..940e75916 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "fr.irstea.cassiopee", "displayName": "Cassiopée", "description": "Hydraulic calculators", - "author": "Irstea", + "author": "Inrae", "version": "4.10.4", "main": "main.js", "homepage": "https://cassiopee.g-eau.fr", diff --git a/src/app/config.json b/src/app/config.json index 5b52889a2..15b90c3af 100644 --- a/src/app/config.json +++ b/src/app/config.json @@ -45,7 +45,7 @@ "name": "HYDRAULIQUE_A_SURFACE_LIBRE", "image": { "path": "surface-libre.jpg", - "credits": "David Dorchies / Irstea" + "credits": "David Dorchies / Inrae" }, "calculators": [ 2, 3, 4, 20, 21 ] }, @@ -53,7 +53,7 @@ "name": "HYDRAULIQUE_EN_CHARGE", "image": { "path": "en-charge.jpg", - "credits": "Catherine Tailleux / Irstea" + "credits": "Catherine Tailleux / Inrae" }, "calculators": [ 1, 0 ] }, @@ -61,7 +61,7 @@ "name": "LOIS_D_OUVRAGES", "image": { "path": "ouvrages.jpg", - "credits": "David Dorchies / Irstea" + "credits": "David Dorchies / Inrae" }, "calculators": [ 8, 9, 10 ] }, -- GitLab From e51ff5d5b78dd25a582a9c37322df761c3a1a07b Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 5 Mar 2020 10:08:53 +0100 Subject: [PATCH 003/117] Update dependencies --- package-lock.json | 4138 +++++++++++++++++++++++++++-------------- package.json | 2 +- src/app/app.module.ts | 4 +- 3 files changed, 2757 insertions(+), 1387 deletions(-) diff --git a/package-lock.json b/package-lock.json index fdbada216..c20e1d0d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -99,42 +100,6 @@ "worker-plugin": "3.2.0" }, "dependencies": { - "@babel/core": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz", - "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.7", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.7", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, "@babel/generator": { "version": "7.7.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", @@ -259,109 +224,100 @@ "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.8.6", - "lodash": "^4.17.13" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { - "lodash": "^4.17.13" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "ms": "^2.1.1" } }, - "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "glob": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", + "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", - "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, - "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true }, - "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "glob": "^7.1.3" } }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "tslib": "^1.9.0" } }, "@babel/parser": { @@ -370,570 +326,619 @@ "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", "dev": true }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "terser": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.5.1.tgz", + "integrity": "sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } - } + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "webpack-dev-server": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz", + "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.4", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", - "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "async-limiter": "~1.0.0" } + } + } + }, + "@angular-devkit/build-optimizer": { + "version": "0.900.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.5.tgz", + "integrity": "sha512-BdmvD58DnAAf6/o/fRzU2l+2g4IwuIJf8x/rd9AGWd7fHrcwgJDhB9rYetB7JqYR8uOWk+AFElDpvNOj8YUy0w==", + "dev": true, + "requires": { + "loader-utils": "1.2.3", + "source-map": "0.7.3", + "tslib": "1.10.0", + "typescript": "3.6.4", + "webpack-sources": "1.4.3" + }, + "dependencies": { + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "typescript": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", + "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", + "dev": true + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.900.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.5.tgz", + "integrity": "sha512-4fYZNg8X73wTjlXV37m0BRVMa27GSwhAupgv5cb9Q3Vys9sYxEUL+GJetXDxypA5YbMj5xX/xqyU9TPtvXhgRg==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.900.5", + "@angular-devkit/core": "9.0.5", + "rxjs": "6.5.3" + }, + "dependencies": { + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "tslib": "^1.9.0" } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + } + } + }, + "@angular-devkit/core": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.5.tgz", + "integrity": "sha512-9TPQPzfSRbV5wVEnfo1d1CS+oVXROfE7VnBRuRMilFnNhuc29wX3zvBQRTreDVyxJetLBEb9sRlcKYGaJzpKPw==", + "dev": true, + "requires": { + "ajv": "6.10.2", + "fast-json-stable-stringify": "2.0.0", + "magic-string": "0.25.4", + "rxjs": "6.5.3", + "source-map": "0.7.3" + }, + "dependencies": { + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "tslib": "^1.9.0" } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + } + } + }, + "@angular-devkit/schematics": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.5.tgz", + "integrity": "sha512-PbOYoy4YyEbR6f1jO18Rt3fJuyaaTJ3bFmws5qWGGNK2yZiP/hnSaM3VffOwoL4sgyKkI2FNKSPiQZgTl8b0Tg==", + "dev": true, + "requires": { + "@angular-devkit/core": "9.0.5", + "ora": "4.0.2", + "rxjs": "6.5.3" + }, + "dependencies": { + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "tslib": "^1.9.0" } + } + } + }, + "@angular/animations": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.5.tgz", + "integrity": "sha512-WGs4Jxw5sr8GCpxMcwEVuZnDIkdNp9qtmuI2j13v/XAaMjvJ7jssCj9+JG5uI8joCi7PFVAWokPT1DdPwWb13Q==" + }, + "@angular/cdk": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.1.tgz", + "integrity": "sha512-yzssAqbllGYgX+WeSYLjmEWtXVG5UPZwA0+dPlh+g85nG7b70DVRVYBi8PJySydsfPX/JMherFUU9h0QOWhhZw==", + "requires": { + "parse5": "^5.0.0" + }, + "dependencies": { + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "optional": true + } + } + }, + "@angular/cli": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.5.tgz", + "integrity": "sha512-hRGpmIwnm908eW5sA4zrVkCGaIUHYLSNu5koaLulK0jj5Iy+vkieDiBuAkD2uVvG7M59s4s4u+L0DMetIpvZQg==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.900.5", + "@angular-devkit/core": "9.0.5", + "@angular-devkit/schematics": "9.0.5", + "@schematics/angular": "9.0.5", + "@schematics/update": "0.900.5", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "^4.1.1", + "ini": "1.3.5", + "inquirer": "7.0.0", + "npm-package-arg": "6.1.1", + "npm-pick-manifest": "3.0.2", + "open": "7.0.0", + "pacote": "9.5.8", + "read-package-tree": "5.3.1", + "rimraf": "3.0.0", + "semver": "6.3.0", + "symbol-observable": "1.2.0", + "universal-analytics": "^0.4.20", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "type-fest": "^0.11.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "restore-cursor": "^3.1.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "ms": "^2.1.1" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "escape-string-regexp": "^1.0.5" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "inquirer": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", + "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" } }, - "@babel/plugin-transform-classes": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", - "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==", + "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 + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "npm-package-arg": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", + "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", - "globals": "^11.1.0" + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "mimic-fn": "^2.1.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", - "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "glob": "^7.1.3" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } } } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "ansi-regex": "^4.1.0" }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true } } }, - "@babel/plugin-transform-for-of": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz", - "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==", + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "@angular/common": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.5.tgz", + "integrity": "sha512-AwZKYK5M/3762woK+3290JnBdlBvZXqxX5vVze6wk23IiBlwIV+l79+Lyfjo/4s031kibq47taaZdC7qkkBkNA==" + }, + "@angular/compiler": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.5.tgz", + "integrity": "sha512-TeyhRGefTOtA9N3udMrvheafoXcz/dvTTdZLcieeZQxm1SSeaQDUQ/rUH6QTOiHVNMtjOCrZ9J5rk1A4mPYuag==" + }, + "@angular/compiler-cli": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.5.tgz", + "integrity": "sha512-lFlasm8UBApTq4/MkxnYrRAMfpOvvg3YYBEMibuEGlaJjW/Xd1JcisUuFiooCxCIKF5phyORHmxjywGPhHqQgQ==", + "dev": true, + "requires": { + "canonical-path": "1.0.0", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.7.2", + "fs-extra": "4.0.2", + "magic-string": "^0.25.0", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "semver": "^6.3.0", + "source-map": "^0.6.1", + "sourcemap-codec": "^1.4.8", + "yargs": "13.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "fill-range": "^7.0.1" } }, - "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "chokidar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "to-regex-range": "^5.0.1" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", - "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "fs-extra": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", + "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", - "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } - } + "optional": true }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", - "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } - } + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, - "@babel/plugin-transform-modules-umd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", - "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "is-glob": "^4.0.1" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "binary-extensions": "^2.0.0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "is-extglob": "^2.1.1" } }, - "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "readdirp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "picomatch": "^2.0.7" } }, "@babel/plugin-transform-parameters": { @@ -955,21 +960,13 @@ } } }, - "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "ansi-regex": "^4.1.0" } }, "@babel/plugin-transform-regenerator": { @@ -981,194 +978,166 @@ "regenerator-transform": "^0.14.2" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "yargs": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz", + "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "cliui": "^4.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } - }, - "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + } + } + }, + "@angular/core": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.5.tgz", + "integrity": "sha512-7VznrYjaAIzeq/zQ7v6tbeoOI7JJKgChKwG7s8jRoEpENu+w2pRlRdyQul88iJLsXgObR+/TfBNm/K+G4cqAFw==" + }, + "@angular/flex-layout": { + "version": "9.0.0-beta.29", + "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.29.tgz", + "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA==" + }, + "@angular/forms": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.5.tgz", + "integrity": "sha512-579PXAfT92J4mghjWKiZ3Zj3xee4h3RP70YHSlsfbi94MONvryWDrnXxvUZ0zJJCVnEJQ7x+nGEp3wwWqR12Jw==" + }, + "@angular/language-service": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.5.tgz", + "integrity": "sha512-9ykFNYZpWdoggFPK3LuTJobBZjoCEQP6kKt88ZZV7GTMIXoE7iY413KfhINoXdMwxIAbba0xlPMR/4p6jFAa4Q==", + "dev": true + }, + "@angular/material": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.1.tgz", + "integrity": "sha512-XtfVTTzvLvw90g1sG8mV0kzkfnp2g7I/kUgwng7Zv3NG1Tzt/wEXVe6ovI45B/8qpN6i/7f2aCl7Gz4KTldAyA==" + }, + "@angular/platform-browser": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.5.tgz", + "integrity": "sha512-24QGcQXthYXB/wT8okJjxqss/JOk4A6O1/Fmva79k0AvwtYkl2tikcyEc5T3xZtjoi8g32AN9nbZAobtkxlqTA==" + }, + "@angular/platform-browser-dynamic": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.5.tgz", + "integrity": "sha512-NRfsAwbgxOvEcpqlERDAG0wap5xJa0wKwnudTCnyvf4B0D6kLkT1Idjqv22NDW5rfM2oDWaZ/qpgpDnAo6/ZBQ==" + }, + "@angular/router": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.5.tgz", + "integrity": "sha512-Sz3DQUxlzAk9aZ9eVtZRh6xF5SMg/Gb3rc5I7dL1M+mycSNoFJ4HPTXleZkKM69mMkKQ5fEtza4x26MSlF+O9w==" + }, + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz", + "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.7", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.7", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" } }, - "@babel/plugin-transform-sticky-regex": { + "@babel/helper-function-name": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-template-literals": { + "@babel/helper-get-function-arity": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", - "dev": true, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-unicode-regex": { + "@babel/highlight": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, - "@babel/preset-env": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz", - "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.7.4", - "@babel/plugin-proposal-dynamic-import": "^7.7.4", - "@babel/plugin-proposal-json-strings": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.7.7", - "@babel/plugin-syntax-async-generators": "^7.7.4", - "@babel/plugin-syntax-dynamic-import": "^7.7.4", - "@babel/plugin-syntax-json-strings": "^7.7.4", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", - "@babel/plugin-syntax-top-level-await": "^7.7.4", - "@babel/plugin-transform-arrow-functions": "^7.7.4", - "@babel/plugin-transform-async-to-generator": "^7.7.4", - "@babel/plugin-transform-block-scoped-functions": "^7.7.4", - "@babel/plugin-transform-block-scoping": "^7.7.4", - "@babel/plugin-transform-classes": "^7.7.4", - "@babel/plugin-transform-computed-properties": "^7.7.4", - "@babel/plugin-transform-destructuring": "^7.7.4", - "@babel/plugin-transform-dotall-regex": "^7.7.7", - "@babel/plugin-transform-duplicate-keys": "^7.7.4", - "@babel/plugin-transform-exponentiation-operator": "^7.7.4", - "@babel/plugin-transform-for-of": "^7.7.4", - "@babel/plugin-transform-function-name": "^7.7.4", - "@babel/plugin-transform-literals": "^7.7.4", - "@babel/plugin-transform-member-expression-literals": "^7.7.4", - "@babel/plugin-transform-modules-amd": "^7.7.5", - "@babel/plugin-transform-modules-commonjs": "^7.7.5", - "@babel/plugin-transform-modules-systemjs": "^7.7.4", - "@babel/plugin-transform-modules-umd": "^7.7.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", - "@babel/plugin-transform-new-target": "^7.7.4", - "@babel/plugin-transform-object-super": "^7.7.4", - "@babel/plugin-transform-parameters": "^7.7.7", - "@babel/plugin-transform-property-literals": "^7.7.4", - "@babel/plugin-transform-regenerator": "^7.7.5", - "@babel/plugin-transform-reserved-words": "^7.7.4", - "@babel/plugin-transform-shorthand-properties": "^7.7.4", - "@babel/plugin-transform-spread": "^7.7.4", - "@babel/plugin-transform-sticky-regex": "^7.7.4", - "@babel/plugin-transform-template-literals": "^7.7.4", - "@babel/plugin-transform-typeof-symbol": "^7.7.4", - "@babel/plugin-transform-unicode-regex": "^7.7.4", - "@babel/types": "^7.7.4", - "browserslist": "^4.6.0", - "core-js-compat": "^3.6.0", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true }, "@babel/template": { "version": "7.8.6", @@ -1307,24 +1276,6 @@ "safe-buffer": "~5.1.1" } }, - "core-js-compat": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", - "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", - "dev": true, - "requires": { - "browserslist": "^4.8.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -1395,11 +1346,26 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true - }, - "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + } + } + }, + "@babel/generator": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", + "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "regenerator-transform": { @@ -1418,115 +1384,86 @@ "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", "dev": true, "requires": { - "glob": "^7.1.3" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } - }, - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + } + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "dev": true, "requires": { - "tslib": "^1.9.0" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + } + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", + "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.7" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "@babel/highlight": "^7.8.3" } }, - "terser": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.5.1.tgz", - "integrity": "sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==", + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", "dev": true, "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "webpack-dev-server": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz", - "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==", + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "dev": true, "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.4", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "@babel/types": "^7.8.3" } } } @@ -1604,12 +1541,15 @@ "uri-js": "^4.2.2" } }, - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, "requires": { - "tslib": "^1.9.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } } } @@ -1630,7 +1570,9 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "requires": { - "tslib": "^1.9.0" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } } } @@ -1695,159 +1637,165 @@ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "requires": { - "type-fest": "^0.11.0" + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", - "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "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==" - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz", + "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "dev": true + }, + "regjsparser": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", + "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", + "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "jsesc": "~0.5.0" } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + } + } + }, + "@babel/helper-define-map": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "@babel/highlight": "^7.8.3" } }, - "rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, "requires": { - "glob": "^7.1.3" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - } + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } }, "type-fest": { @@ -1858,147 +1806,1227 @@ } } }, - "@angular/common": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz", - "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw==" + "@angular/common": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz", + "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw==" + }, + "@angular/compiler": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz", + "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ==" + }, + "@angular/compiler-cli": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz", + "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "dev": true, + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", + "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.8.6", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "dev": true, + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "dev": true, + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "dev": true, + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "dev": true, + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", + "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } }, - "@angular/compiler": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz", - "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ==" + "@babel/plugin-transform-arrow-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } }, - "@angular/compiler-cli": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz", - "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==", + "@babel/plugin-transform-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", "dev": true, "requires": { - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "yargs": "13.1.0" + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", + "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3", + "globals": "^11.1.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "@babel/highlight": "^7.8.3" } }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "dev": true, - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "@babel/types": "^7.8.3" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "@babel/types": "^7.8.3" } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "is-number": { @@ -2019,89 +3047,162 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { - "picomatch": "^2.0.7" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", + "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz", + "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "@babel/types": "^7.8.3" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { - "is-number": "^7.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, - "yargs": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz", - "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==", + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { - "cliui": "^4.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } } } @@ -2147,71 +3248,45 @@ "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz", "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw==" }, - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "@babel/plugin-transform-new-target": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/generator": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", - "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "@babel/plugin-transform-object-super": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", "dev": true, "requires": { - "@babel/types": "^7.5.5", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz", - "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==", + "@babel/plugin-transform-parameters": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz", + "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.6.0" + "@babel/helper-call-delegate": "^7.8.7", + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" }, "dependencies": { - "@babel/helper-annotate-as-pure": { + "@babel/helper-get-function-arity": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { "@babel/types": "^7.8.3" } }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, "@babel/types": { "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", @@ -2275,80 +3350,159 @@ } } }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "@babel/plugin-transform-property-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "@babel/plugin-transform-regenerator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", + "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "regenerator-transform": "^0.14.2" } }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true + "@babel/plugin-transform-reserved-words": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "@babel/plugin-transform-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", - "dev": true + "@babel/plugin-transform-sticky-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" + } }, - "@babel/plugin-syntax-top-level-await": { + "@babel/plugin-transform-template-literals": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", "dev": true, "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/preset-env": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz", + "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.7.4", + "@babel/plugin-proposal-dynamic-import": "^7.7.4", + "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.7.7", + "@babel/plugin-syntax-async-generators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-top-level-await": "^7.7.4", + "@babel/plugin-transform-arrow-functions": "^7.7.4", + "@babel/plugin-transform-async-to-generator": "^7.7.4", + "@babel/plugin-transform-block-scoped-functions": "^7.7.4", + "@babel/plugin-transform-block-scoping": "^7.7.4", + "@babel/plugin-transform-classes": "^7.7.4", + "@babel/plugin-transform-computed-properties": "^7.7.4", + "@babel/plugin-transform-destructuring": "^7.7.4", + "@babel/plugin-transform-dotall-regex": "^7.7.7", + "@babel/plugin-transform-duplicate-keys": "^7.7.4", + "@babel/plugin-transform-exponentiation-operator": "^7.7.4", + "@babel/plugin-transform-for-of": "^7.7.4", + "@babel/plugin-transform-function-name": "^7.7.4", + "@babel/plugin-transform-literals": "^7.7.4", + "@babel/plugin-transform-member-expression-literals": "^7.7.4", + "@babel/plugin-transform-modules-amd": "^7.7.5", + "@babel/plugin-transform-modules-commonjs": "^7.7.5", + "@babel/plugin-transform-modules-systemjs": "^7.7.4", + "@babel/plugin-transform-modules-umd": "^7.7.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", + "@babel/plugin-transform-new-target": "^7.7.4", + "@babel/plugin-transform-object-super": "^7.7.4", + "@babel/plugin-transform-parameters": "^7.7.7", + "@babel/plugin-transform-property-literals": "^7.7.4", + "@babel/plugin-transform-regenerator": "^7.7.5", + "@babel/plugin-transform-reserved-words": "^7.7.4", + "@babel/plugin-transform-shorthand-properties": "^7.7.4", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/plugin-transform-sticky-regex": "^7.7.4", + "@babel/plugin-transform-template-literals": "^7.7.4", + "@babel/plugin-transform-typeof-symbol": "^7.7.4", + "@babel/plugin-transform-unicode-regex": "^7.7.4", + "@babel/types": "^7.7.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.6.0", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } } } }, @@ -2871,6 +4025,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -2879,6 +4034,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", + "dev": true, "requires": { "hosted-git-info": "^3.0.2", "osenv": "^0.1.5", @@ -2889,7 +4045,8 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, @@ -2897,6 +4054,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -2904,12 +4062,14 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -3268,12 +4428,14 @@ "@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, "requires": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -3350,6 +4512,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -3358,6 +4521,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "dev": true, "requires": { "humanize-ms": "^1.2.1" } @@ -3376,6 +4540,7 @@ "version": "6.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -3518,6 +4683,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" }, @@ -3526,6 +4692,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -3533,7 +4700,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true } } }, @@ -3669,7 +4837,8 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "arg": { "version": "4.1.3", @@ -3779,12 +4948,14 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -3830,7 +5001,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -3933,7 +5105,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "atob": { "version": "2.1.2", @@ -3999,12 +5172,14 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true }, "axobject-query": { "version": "2.0.2", @@ -4191,6 +5366,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -4253,7 +5429,8 @@ "bluebird": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true }, "bluebird-lst": { "version": "1.0.9", @@ -4636,14 +5813,14 @@ } }, "browserslist": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz", - "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000975", - "electron-to-chromium": "^1.3.164", - "node-releases": "^1.1.23" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "browserstack": { @@ -4852,7 +6029,8 @@ "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true }, "bytes": { "version": "3.0.0", @@ -5057,9 +6235,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000979", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz", - "integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw==", + "version": "1.0.30001020", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz", + "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==", "dev": true }, "canonical-path": { @@ -5077,7 +6255,8 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, "cfb": { "version": "1.1.3", @@ -5094,6 +6273,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5104,6 +6284,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -5113,7 +6294,8 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true }, "chart.js": { "version": "2.7.3", @@ -5198,7 +6380,8 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "chrome-trace-event": { "version": "1.0.2", @@ -5299,12 +6482,14 @@ "cli-spinners": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true }, "clipboard": { "version": "2.0.4", @@ -5538,6 +6723,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -5637,6 +6823,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -5775,6 +6962,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -6449,10 +7637,29 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" }, + "core-js-compat": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", + "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", + "dev": true, + "requires": { + "browserslist": "^4.8.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cors": { "version": "2.8.5", @@ -6875,7 +8082,8 @@ "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true }, "d": { "version": "1.0.1", @@ -7179,6 +8387,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -7201,7 +8410,8 @@ "debuglog": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true }, "decache": { "version": "4.5.1", @@ -7278,6 +8488,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, "requires": { "clone": "^1.0.2" }, @@ -7285,7 +8496,8 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true } } }, @@ -7420,7 +8632,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegate": { "version": "3.2.0", @@ -7483,6 +8696,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -7682,6 +8896,7 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -7693,6 +8908,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -8001,9 +9217,9 @@ } }, "electron-to-chromium": { - "version": "1.3.252", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz", - "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==", + "version": "1.3.368", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.368.tgz", + "integrity": "sha512-fqzDipW3p+uDkHUHFPrdW3wINRKcJsbnJwBD7hgaQEQwcuLSvNLw6SeUp5gKDpTbmTl7zri7IZfhsdTUTnygJg==", "dev": true }, "elementtree": { @@ -8039,7 +9255,8 @@ "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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "emojis-list": { "version": "2.1.0", @@ -8057,6 +9274,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, "requires": { "iconv-lite": "~0.4.13" } @@ -8065,6 +9283,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, "requires": { "once": "^1.4.0" } @@ -8191,7 +9410,8 @@ "err-code": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "dev": true }, "errno": { "version": "0.1.7", @@ -8280,12 +9500,14 @@ "es6-promise": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "dev": true }, "es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, "requires": { "es6-promise": "^4.0.3" } @@ -8340,7 +9562,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escaper": { "version": "2.5.3", @@ -8747,7 +9970,8 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, "extend-shallow": { "version": "3.0.2", @@ -8774,6 +9998,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -8860,7 +10085,8 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "falafel": { "version": "2.1.0", @@ -8903,7 +10129,8 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true }, "fast-glob": { "version": "2.2.7", @@ -8927,7 +10154,8 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -8962,7 +10190,8 @@ "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true }, "figures": { "version": "2.0.0", @@ -9176,6 +10405,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" @@ -9316,12 +10546,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -9364,6 +10596,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -9399,6 +10632,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -9967,12 +11201,7 @@ "genfun": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==" - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", "dev": true }, "get-assigned-identifiers": { @@ -10003,6 +11232,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -10210,12 +11440,14 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -10264,7 +11496,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { "version": "1.0.0", @@ -10354,7 +11587,8 @@ "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true }, "hpack.js": { "version": "2.1.6", @@ -10454,7 +11688,8 @@ "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true }, "http-deceiver": { "version": "1.2.7", @@ -10495,6 +11730,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, "requires": { "agent-base": "4", "debug": "3.1.0" @@ -10504,6 +11740,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -10526,6 +11763,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -10542,6 +11780,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -10551,6 +11790,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -10559,6 +11799,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -10566,7 +11807,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -10574,6 +11816,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, "requires": { "ms": "^2.0.0" } @@ -10604,7 +11847,8 @@ "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true }, "ignore": { "version": "3.3.10", @@ -10616,6 +11860,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, "requires": { "minimatch": "^3.0.4" } @@ -10680,7 +11925,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "indent-string": { "version": "4.0.0", @@ -10703,7 +11949,8 @@ "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, "inflight": { "version": "1.0.6", @@ -10722,7 +11969,8 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true }, "init-package-json": { "version": "1.10.3", @@ -10877,7 +12125,8 @@ "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true }, "ip-regex": { "version": "2.1.0", @@ -11066,7 +12315,8 @@ "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true }, "is-negated-glob": { "version": "1.0.0", @@ -11147,7 +12397,8 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true }, "is-redirect": { "version": "1.0.0", @@ -11215,7 +12466,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-unc-path": { "version": "1.0.0", @@ -11253,7 +12505,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isbinaryfile": { "version": "4.0.4", @@ -11275,7 +12528,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "istanbul-api": { "version": "2.1.6", @@ -11462,17 +12716,6 @@ "@babel/types": "^7.8.3" } }, - "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", - "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" - } - }, "@babel/highlight": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", @@ -11529,15 +12772,6 @@ "to-fast-properties": "^2.0.0" } }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -11786,9 +13020,9 @@ "dev": true }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { @@ -11812,7 +13046,8 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, "jsesc": { "version": "2.5.2", @@ -11829,22 +13064,26 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json3": { "version": "3.3.3", @@ -11880,12 +13119,14 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -12456,6 +13697,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, "requires": { "chalk": "^2.4.2" } @@ -12548,6 +13790,7 @@ "version": "0.25.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", + "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -12571,6 +13814,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", + "dev": true, "requires": { "agentkeepalive": "^3.4.1", "cacache": "^12.0.0", @@ -12589,6 +13833,7 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -12611,6 +13856,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12624,6 +13870,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -12632,6 +13879,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -12639,7 +13887,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -12863,12 +14112,14 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, "requires": { "mime-db": "~1.37.0" } @@ -12876,7 +14127,8 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true }, "mimic-response": { "version": "1.0.1", @@ -12962,7 +14214,8 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "minipass": { "version": "3.1.1", @@ -13012,6 +14265,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, "requires": { "minipass": "^2.9.0" }, @@ -13020,6 +14274,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -13028,7 +14283,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -13036,6 +14292,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -13074,6 +14331,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -13110,6 +14368,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -13122,7 +14381,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multicast-dns": { "version": "6.2.3", @@ -13316,12 +14576,20 @@ } }, "node-releases": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz", - "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==", + "version": "1.1.50", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz", + "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==", "dev": true, "requires": { - "semver": "^5.3.0" + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "nopt": { @@ -13337,6 +14605,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -13369,6 +14638,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -13387,12 +14657,14 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true }, "npm-package-arg": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", + "dev": true, "requires": { "hosted-git-info": "^2.6.0", "osenv": "^0.1.5", @@ -13404,6 +14676,7 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "dev": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1", @@ -13414,6 +14687,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "dev": true, "requires": { "figgy-pudding": "^3.5.1", "npm-package-arg": "^6.0.0", @@ -13424,6 +14698,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz", "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==", + "dev": true, "requires": { "JSONStream": "^1.3.4", "bluebird": "^3.5.1", @@ -13438,6 +14713,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -13445,12 +14721,14 @@ "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -13487,7 +14765,8 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -13556,6 +14835,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, "requires": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -13567,6 +14847,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -13576,6 +14857,7 @@ "version": "1.17.4", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -13594,6 +14876,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -13603,17 +14886,20 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true }, "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, "requires": { "has": "^1.0.3" } @@ -13621,12 +14907,14 @@ "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true } } }, @@ -13774,6 +15062,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", + "dev": true, "requires": { "is-wsl": "^2.1.0" }, @@ -13781,7 +15070,8 @@ "is-wsl": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "dev": true } } }, @@ -13836,6 +15126,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", + "dev": true, "requires": { "chalk": "^2.4.2", "cli-cursor": "^3.1.0", @@ -13849,12 +15140,14 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -13863,6 +15156,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -13871,6 +15165,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -13880,6 +15175,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -14037,6 +15333,7 @@ "version": "9.5.8", "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz", "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==", + "dev": true, "requires": { "bluebird": "^3.5.3", "cacache": "^12.0.2", @@ -14073,6 +15370,7 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -14095,6 +15393,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -14110,6 +15409,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { "pump": "^3.0.0" } @@ -14118,6 +15418,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -14126,6 +15427,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -14134,12 +15436,14 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -14147,7 +15451,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -14160,6 +15465,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -14367,7 +15673,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "picomatch": { "version": "2.0.7", @@ -15163,7 +16470,8 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true }, "progress": { "version": "2.0.3", @@ -15184,12 +16492,14 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true }, "promise-retry": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "dev": true, "requires": { "err-code": "^1.0.0", "retry": "^0.10.0" @@ -15198,7 +16508,8 @@ "retry": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "dev": true } } }, @@ -15230,6 +16541,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", + "dev": true, "requires": { "genfun": "^5.0.0" } @@ -15390,7 +16702,8 @@ "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -15410,6 +16723,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -15419,6 +16733,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, "requires": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -15429,6 +16744,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -15439,7 +16755,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "pupa": { "version": "2.0.1", @@ -15474,7 +16791,8 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true }, "query-string": { "version": "4.3.4", @@ -15732,6 +17050,7 @@ "version": "2.0.13", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", + "dev": true, "requires": { "glob": "^7.1.1", "graceful-fs": "^4.1.2", @@ -15744,6 +17063,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "dev": true, "requires": { "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0", @@ -15754,6 +17074,7 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -15768,6 +17089,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "dev": true, "requires": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", @@ -15814,12 +17136,13 @@ "dev": true }, "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz", + "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==", "dev": true, "requires": { - "private": "^0.1.6" + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" } }, "regex-not": { @@ -15912,6 +17235,7 @@ "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -15957,6 +17281,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -16052,6 +17377,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "requires": { "glob": "^7.1.3" } @@ -16110,6 +17436,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -16118,6 +17445,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, "requires": { "aproba": "^1.1.1" } @@ -16135,15 +17463,11 @@ "tslib": "^1.9.0" } }, - "rxjs-compat": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz", - "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safe-regex": { "version": "1.1.0", @@ -16365,6 +17689,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", + "dev": true, "requires": { "semver": "^5.0.0" } @@ -16579,7 +17904,8 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "simple-swizzle": { "version": "0.2.2", @@ -16601,7 +17927,8 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "slugify": { "version": "1.4.0", @@ -16611,7 +17938,8 @@ "smart-buffer": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "dev": true }, "snapdragon": { "version": "0.8.2", @@ -16872,6 +18200,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "dev": true, "requires": { "ip": "1.1.5", "smart-buffer": "^4.1.0" @@ -16881,6 +18210,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "dev": true, "requires": { "agent-base": "~4.2.1", "socks": "~2.3.2" @@ -16890,6 +18220,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -16914,7 +18245,8 @@ "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true }, "source-map-loader": { "version": "0.2.4", @@ -16966,12 +18298,14 @@ "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -16980,12 +18314,14 @@ "spdx-exceptions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -16994,7 +18330,8 @@ "spdx-license-ids": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true }, "spdy": { "version": "4.0.1", @@ -17113,6 +18450,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -17267,6 +18605,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -17286,9 +18625,10 @@ } }, "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true }, "streamroller": { "version": "1.0.6", @@ -17383,6 +18723,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -17392,6 +18733,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -17401,6 +18743,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -17665,7 +19008,8 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true }, "tapable": { "version": "1.1.3", @@ -17730,6 +19074,7 @@ "version": "4.4.13", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "dev": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -17744,6 +19089,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, "requires": { "minipass": "^2.6.0" } @@ -17752,6 +19098,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -17760,7 +19107,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -18023,6 +19371,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -18077,6 +19426,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -18157,6 +19507,7 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -18165,7 +19516,8 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true } } }, @@ -18333,6 +19685,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -18340,7 +19693,8 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true }, "type": { "version": "1.2.0", @@ -18393,7 +19747,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typedarray-to-buffer": { "version": "3.1.5", @@ -18550,6 +19905,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -18558,6 +19914,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, "requires": { "imurmurhash": "^0.1.4" } @@ -18575,6 +19932,7 @@ "version": "0.4.20", "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", + "dev": true, "requires": { "debug": "^3.0.0", "request": "^2.88.0", @@ -18585,6 +19943,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -18592,7 +19951,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -18858,6 +20218,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -18947,12 +20308,14 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "util-promisify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3" } @@ -19043,7 +20406,8 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true }, "valid-identifier": { "version": "0.0.2", @@ -19055,6 +20419,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -19064,6 +20429,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, "requires": { "builtins": "^1.0.3" } @@ -19084,6 +20450,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -19138,6 +20505,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, "requires": { "defaults": "^1.0.3" } @@ -19917,12 +21285,14 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true }, "yallist": { "version": "2.1.2", diff --git a/package.json b/package.json index 940e75916..b4feb7909 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,8 @@ "jalhyd": "file:../jalhyd", "material-design-icons": "^3.0.1", "mathjax": "^2.7.7", - "ngx-konami": "^1.7.1", "mermaid": "^8.3.1", + "ngx-konami": "^1.7.1", "ngx-markdown": "^9.0.0", "ngx-material-file-input": "^2.1.0", "ngx-matomo": "^0.1.4", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 9f73b89bf..8509d10d6 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input"; import { DragDropModule } from "@angular/cdk/drag-drop"; import { TableModule } from "primeng/table"; -/* import { KonamiModule } from "ngx-konami"; */ +import { KonamiModule } from "ngx-konami"; import { MarkdownModule, MarkedOptions } from "ngx-markdown"; import { FlexLayoutModule } from "@angular/flex-layout"; @@ -173,7 +173,7 @@ const appRoutes: Routes = [ ), StorageServiceModule, TableModule, - // KonamiModule + KonamiModule ], declarations: [ // composants, pipes et directives AppComponent, -- GitLab From 0f5628324e56e0d24c08645b40aa21ad1e0bec4a Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 5 Mar 2020 11:05:50 +0100 Subject: [PATCH 004/117] Convert info to warning --- src/locale/messages.en.json | 4 ++-- src/locale/messages.fr.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 65e40abcb..d3016519f 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -495,7 +495,6 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length", "INFO_EXAMPLES_TITLE": "Examples", "INFO_EXAMPLES_SUBTITLE": "Load standard examples", - "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored", "INFO_YAXB_TITRE": "Linear function", "INFO_YAXB_TITRE_COURT": "Linear f.", "INFO_TRIGO_TITRE": "Trigonometric function", @@ -526,5 +525,6 @@ "WARNING_SECTION_OVERFLOW_ABSC": "Overflow: water elevation exceeds embankment elevation between abscissae %xa% et %xb%", "WARNING_SESSION_LOAD_NOTES_MERGED": "Notes have been merged", "WARNING_VALUE_ROUNDED_TO_INTEGER": "Value of %symbol% was rounded to %rounded%", - "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%" + "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%", + "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored" } diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 63ba40050..1e7a68116 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -494,7 +494,6 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir", "INFO_EXAMPLES_TITLE": "Exemples", "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types", - "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée", "INFO_YAXB_TITRE": "Fonction affine", "INFO_YAXB_TITRE_COURT": "F. affine", "INFO_TRIGO_TITRE": "Fonction trigonométrique", @@ -525,5 +524,6 @@ "WARNING_SECTION_OVERFLOW_ABSC": "Débordement: la cote de l'eau dépasse la cote de berge entre les abscisses %xa% et %xb%", "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées", "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%", - "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%" + "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%", + "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée" } -- GitLab From 63c79d48595194e15b28f66a5602a51200c39546 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 5 Mar 2020 16:39:45 +0100 Subject: [PATCH 005/117] Typo --- src/app/calculators/par/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json index 25946d0b2..2fc234d84 100644 --- a/src/app/calculators/par/fr.json +++ b/src/app/calculators/par/fr.json @@ -18,7 +18,7 @@ "h": "Hauteur d'eau dans la passe", "ha": "Charge amont", "qStar": "Débit adimensionnel", - "V": "Vitese débitante", + "V": "Vitesse débitante", "Nb": "Nombre de ralentisseurs", "ZR1": "Cote de radier à l'amont", "ZD2": "Cote de déversement à l'aval", -- GitLab From 4fa1fa56c23258fce333e26b99d09b614838c742 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 5 Mar 2020 17:17:30 +0100 Subject: [PATCH 006/117] Translation of PAR messages --- src/locale/messages.en.json | 16 ++++++++++++++-- src/locale/messages.fr.json | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index d3016519f..d1b0952ad 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -32,7 +32,6 @@ "ERROR_PAB_CALC_Z1_CLOISON": "Error in calculating the upstream water elevation of a wall", "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall", - "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "P value deviates by more than 10% from standard value %stdP%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value", "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value", @@ -526,5 +525,18 @@ "WARNING_SESSION_LOAD_NOTES_MERGED": "Notes have been merged", "WARNING_VALUE_ROUNDED_TO_INTEGER": "Value of %symbol% was rounded to %rounded%", "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%", - "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored" + "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored", + "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given P value is more than 10% lower or more than 5% greater than standard value %stdP%", + "ERROR_PAR_QSTAR_OUT_OF_RANGE": "qStar value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", + "ERROR_PAR_HA_OUT_OF_RANGE": "ha value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", + "WARNING_PAR_L": "A witdh greater than %max% is discouraged", + "ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]", + "WARNING_ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]", + "WARNING_PAR_S": "Slope should not be outside interval [ %min%, %max% ]", + "ERROR_PAR_S": "Slope is outside validity interval [ %min%, %max% ]", + "WARNING_PAR_A": "A height greater than %max% is discouraged", + "ERROR_PAR_A": "Height is outside validity interval [ %min%, %max% ]", + "WARNING_PAR_N_ROUNDED_TO_05": "Number of patterns was rounded to %val%", + "WARNING_PAR_M_ROUNDED_TO_1": "Number of longitudinal strips was rounded to %val%", + "ERROR_PAR_M_GREATER_THAN_2_N": "Number of longitudinal strips exceeds 2N = %max%" } diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 1e7a68116..db1a5115f 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -32,7 +32,6 @@ "ERROR_PAB_CALC_Z1_CLOISON": "Erreur de calcul de la cote de l'eau amont d'une cloison", "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison", - "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "La valeur de P s'écarte de plus de 10% de la valeur standard %stdP%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique", "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive", @@ -525,5 +524,18 @@ "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées", "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%", "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%", - "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée" + "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée", + "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur de P fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%", + "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% de qStar sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", + "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", + "WARNING_PAR_L": "Une largeur supérieure à %max% est déconseillée", + "ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]", + "WARNING_ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]", + "WARNING_PAR_S": "La pente ne devrait pas être en dehors de l'intervalle [ %min%, %max% ]", + "ERROR_PAR_S": "La pente est en dehors de l'intervalle de validité [ %min%, %max% ]", + "WARNING_PAR_A": "Une hauteur supérieure à %max% est déconseillée", + "ERROR_PAR_A": "La hauteur est en dehors de l'intervalle de validité [ %min%, %max% ]", + "WARNING_PAR_N_ROUNDED_TO_05": "Le nombre de motifs a été arrondi à %val%", + "WARNING_PAR_M_ROUNDED_TO_1": "Le nombre de bandes a été arrondi à %val%", + "ERROR_PAR_M_GREATER_THAN_2_N": "Le nombre de bandes dépasse 2N = %max%" } -- GitLab From e11598bc22fdb2e07635d07c66adeda301c4075c Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 17 Mar 2020 17:46:30 +0100 Subject: [PATCH 007/117] PAR : simulation --- e2e/calculate-all-params.e2e-spec.ts | 4 +- e2e/tested_calctypes.ts | 2 +- src/app/calculators/parsimulation/config.json | 60 ++++++++++++++++ src/app/calculators/parsimulation/en.json | 68 +++++++++++++++++++ src/app/calculators/parsimulation/fr.json | 68 +++++++++++++++++++ src/app/config.json | 2 +- .../formulaire/definition/form-fixedvar.ts | 7 ++ src/app/formulaire/elements/fieldset.ts | 2 +- src/locale/messages.en.json | 8 +++ src/locale/messages.fr.json | 8 +++ 10 files changed, 225 insertions(+), 4 deletions(-) create mode 100644 src/app/calculators/parsimulation/config.json create mode 100644 src/app/calculators/parsimulation/en.json create mode 100644 src/app/calculators/parsimulation/fr.json diff --git a/e2e/calculate-all-params.e2e-spec.ts b/e2e/calculate-all-params.e2e-spec.ts index f261a8df7..e250d6aac 100644 --- a/e2e/calculate-all-params.e2e-spec.ts +++ b/e2e/calculate-all-params.e2e-spec.ts @@ -52,7 +52,9 @@ describe("ngHyd − calculate all parameters of all calculators", async () => { if (inputs.length > 0) { // for each param - for (const input of inputs) { + for (let i = 0; i < inputs.length; i++) { + // grab input again because calculating the module just refreshed all the fieldsets + const input = (await calcPage.getParamInputsHavingCalcMode())[i]; // click "calc" mode button for this parameter await calcPage.setParamMode(input, "cal"); // check that only 1 button is in "calc" state diff --git a/e2e/tested_calctypes.ts b/e2e/tested_calctypes.ts index 9b86493e2..e4eed0389 100644 --- a/e2e/tested_calctypes.ts +++ b/e2e/tested_calctypes.ts @@ -9,5 +9,5 @@ export const testedCalcTypes = [ // omit 16 - CloisonAval 17, 18, 19, 20, 21, 22, 23, 24, 25, // omit 26 - YAXN - 27 + 27, 29 ]; diff --git a/src/app/calculators/parsimulation/config.json b/src/app/calculators/parsimulation/config.json new file mode 100644 index 000000000..faeb2718b --- /dev/null +++ b/src/app/calculators/parsimulation/config.json @@ -0,0 +1,60 @@ +[ + { + "id": "fs_param_hydro", + "type": "fieldset", + "fields": [ + "Q", + "Z1", + { + "id": "Z2", + "allowEmpty": true + } + ] + }, + { + "id": "fs_geometry", + "type": "fieldset", + "fields": [ + { + "type": "select", + "id": "select_par_type", + "property": "parType", + "default": "PLANE" + }, + "S", + { + "id": "P", + "allowEmpty": true + }, + { + "id": "Nb", + "allowEmpty": true + }, + { + "id": "ZD1", + "allowEmpty": true + }, + { + "id": "ZR1", + "allowEmpty": true + }, + { + "id": "ZD2", + "allowEmpty": true + }, + { + "id": "ZR2", + "allowEmpty": true + }, + "L", + "a", + "N", + "M" + ] + }, + { + "type": "options", + "selectIds": [ "select_par_type" ], + "help": "par/par_simulation.html" + } +] diff --git a/src/app/calculators/parsimulation/en.json b/src/app/calculators/parsimulation/en.json new file mode 100644 index 000000000..3ff2bc405 --- /dev/null +++ b/src/app/calculators/parsimulation/en.json @@ -0,0 +1,68 @@ +{ + "fs_param_hydro": "Hydraulic parameters", + + "Q": "Flow", + "Z1": "Upstream water elevation", + "Z2": "Downstream water elevation", + + "fs_geometry": "Pass geometry", + + "ZD1": "Upstream spilling elevation", + "ZR1": "Upstream apron elevation", + "ZD2": "Downstream spilling elevation", + "ZR2": "Downstream apron elevation", + "S": "Slope", + "P": "Space between baffles", + "Nb": "Number of baffles", + "L": "Pass width", + "a": "Baffle / chevron height", + "N": "Number of patterns", + "M": "Number of longitudinal strips", + + "h": "Water level in the pass", + "ha": "Upstream head", + "qStar": "Dimensionless flow", + "V": "Flow velocity", + "ZM": "Minimal rake height of upstream side walls", + "LPI": "Pass length following the slope", + "LPH": "Pass length in horizontal projection", + "A": "A", + "B": "B", + "C": "C", + "D": "D", + "H": "Baffle height", + "Hmin": "Hmin", + "Hmax": "Hmax", + + "select_par_type": "Type de passe", + "select_par_type_0": "Plane baffles", + "select_par_type_1": "Fatou", + "select_par_type_2": "Superactive", + "select_par_type_3": "Mixed / chevrons", + + "UNIT_ZD1": "m", + "UNIT_S": "m/m", + "UNIT_P": "m", + "UNIT_NB": "", + "UNIT_L": "m", + "UNIT_a": "m", + "UNIT_N": "", + "UNIT_M": "", + + "UNIT_H": "m", + "UNIT_HA": "m", + "UNIT_QSTAR": "m³/s", + "UNIT_V": "m/s", + "UNIT_ZM": "m", + "UNIT_ZR1": "m", + "UNIT_A": "m", + "UNIT_B": "m", + "UNIT_C": "m", + "UNIT_D": "m", + "UNIT_HMIN": "m", + "UNIT_HMAX": "m", + "UNIT_ZD2": "m", + "UNIT_ZR2": "m", + "UNIT_LPI": "m", + "UNIT_LPH": "m" +} diff --git a/src/app/calculators/parsimulation/fr.json b/src/app/calculators/parsimulation/fr.json new file mode 100644 index 000000000..5748df1e6 --- /dev/null +++ b/src/app/calculators/parsimulation/fr.json @@ -0,0 +1,68 @@ +{ + "fs_param_hydro": "Paramètres hydrauliques", + + "Q": "Débit", + "Z1": "Cote de l'eau amont", + "Z2": "Cote de leau aval", + + "fs_geometry": "Géométrie de la passe", + + "ZD1": "Cote de déversement à l'amont", + "ZR1": "Cote de radier à l'amont", + "ZD2": "Cote de déversement à l'aval", + "ZR2": "Cote de radier à l'aval", + "S": "Pente", + "P": "Espacement entre les ralentisseurs", + "Nb": "Nombre de ralentisseurs", + "L": "Largeur de la passe", + "a": "Hauteur des ralentisseurs / des chevrons", + "N": "Nombre de motifs", + "M": "Nombre de bandes longitudinales", + + "h": "Hauteur d'eau dans la passe", + "ha": "Charge amont", + "qStar": "Débit adimensionnel", + "V": "Vitesse débitante", + "ZM": "Cote d'arase minimale des murs latéraux à l'amont", + "LPI": "Longueur de la passe en suivant la pente", + "LPH": "Longueur de la passe en projection horizontale", + "A": "A", + "B": "B", + "C": "C", + "D": "D", + "H": "Hauteur d'un ralentisseur", + "Hmin": "Hmin", + "Hmax": "Hmax", + + "select_par_type": "Type de passe", + "select_par_type_0": "Ralentisseurs plans", + "select_par_type_1": "Fatou", + "select_par_type_2": "Ralentisseurs suractifs", + "select_par_type_3": "Mixte / chevrons", + + "UNIT_ZD1": "m", + "UNIT_S": "m/m", + "UNIT_P": "m", + "UNIT_NB": "", + "UNIT_L": "m", + "UNIT_a": "m", + "UNIT_N": "", + "UNIT_M": "", + + "UNIT_H": "m", + "UNIT_HA": "m", + "UNIT_QSTAR": "m³/s", + "UNIT_V": "m/s", + "UNIT_ZM": "m", + "UNIT_ZR1": "m", + "UNIT_A": "m", + "UNIT_B": "m", + "UNIT_C": "m", + "UNIT_D": "m", + "UNIT_HMIN": "m", + "UNIT_HMAX": "m", + "UNIT_ZD2": "m", + "UNIT_ZR2": "m", + "UNIT_LPI": "m", + "UNIT_LPH": "m" +} diff --git a/src/app/config.json b/src/app/config.json index 15b90c3af..600172199 100644 --- a/src/app/config.json +++ b/src/app/config.json @@ -23,7 +23,7 @@ "path": "passe-ralentisseurs.jpg", "credits": "????" }, - "calculators": [ 28 ] + "calculators": [ 28, 29 ] }, { "name": "PASSE_NATURELLE", diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index b2051ccba..72928a7b9 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -90,6 +90,7 @@ export class FormulaireFixedVar extends FormulaireDefinition { protected compute() { this.runNubCalc(this.currentNub); this.reaffectResultComponents(); + this.refreshFieldsets(); } protected reaffectResultComponents() { @@ -117,6 +118,12 @@ export class FormulaireFixedVar extends FormulaireDefinition { } } + protected refreshFieldsets() { + for (const fs of this.allFieldsets) { + fs.updateFields(); + } + } + // interface Observer public update(sender: IObservable, data: any) { diff --git a/src/app/formulaire/elements/fieldset.ts b/src/app/formulaire/elements/fieldset.ts index c6e49fa9b..338328bed 100644 --- a/src/app/formulaire/elements/fieldset.ts +++ b/src/app/formulaire/elements/fieldset.ts @@ -227,7 +227,7 @@ export class FieldSet extends FormulaireElement implements Observer { } /** - * Reflects all properties values in the interface, through the values of the <select> fields + * Reloads the model values and properties, and reloads localisation strings */ public updateFields() { this.parseFields(); diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index d1b0952ad..7bd07e4c7 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -1,4 +1,5 @@ { + "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "At least one of the following values should be specified : %symbols%", "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Only one regulated device is allowed on the downstream wall", "WARNING_DEVER_ZR_SUP_Z1": "Elevation of the river bed can't be higher than water elevation: Impossible to calculate the kinetic energy", "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "Downstream elevation is higher than weir elevation (possible submersion)", @@ -32,6 +33,8 @@ "ERROR_PAB_CALC_Z1_CLOISON": "Error in calculating the upstream water elevation of a wall", "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall", + "ERROR_PAR_NB_INCONSISTENT": "Number of baffles should be %stdNb%", + "ERROR_PAR_ZR_ZD_MISMATCH": "Values of %ZR% and %ZD% mismatch : either %ZR% should be %expectedZR%, or %ZD% should be %expectedZD%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value", "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value", @@ -133,6 +136,8 @@ "INFO_ENUM_OUVRAGE_Q_REGIME_1": "Partially submerged", "INFO_ENUM_OUVRAGE_Q_REGIME_2": "Submerged", "INFO_ENUM_OUVRAGE_Q_REGIME_3": "Zero flow", + "INFO_ENUM_PARFLOWREGIME_0": "Free", + "INFO_ENUM_PARFLOWREGIME_1": "Submerged", "INFO_ENUM_STRUCTUREFLOWMODE_0": "Weir", "INFO_ENUM_STRUCTUREFLOWMODE_1": "Orifice", "INFO_ENUM_STRUCTUREFLOWMODE_2": "Zero flow", @@ -230,6 +235,7 @@ "INFO_LIB_DISTANCE_AMONT": "Distance from upstream (m)", "INFO_LIB_EC": "EC: Kinetic energy", "INFO_LIB_ENUM_MACRORUGOFLOWTYPE": "Flow type", + "INFO_LIB_ENUM_PARFLOWREGIME": "Regime", "INFO_LIB_FLU": "Subcritical water line", "INFO_LIB_FR": "Froude number", "INFO_LIB_FS_OUVRAGE": "Device", @@ -377,6 +383,8 @@ "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power", "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power", "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures", + "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", + "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures", "INFO_PAR_TITRE": "Humpback fishway: setup", "INFO_PAR_TITRE_COURT": "HF: setup", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index db1a5115f..24a05696c 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -1,4 +1,5 @@ { + "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "Au moins une des valeurs suivantes doit être renseignée : %symbols%", "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Un seul ouvrage régulé est autorisé sur la cloison aval", "WARNING_DEVER_ZR_SUP_Z1": "La cote du lit du cours d'eau ne peut pas être supérieure à la cote de l'eau : Impossible de calculer l'énergie cinétique", "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "La cote de l'eau aval est plus élevée que la cote du seuil (ennoiement possible)", @@ -32,6 +33,8 @@ "ERROR_PAB_CALC_Z1_CLOISON": "Erreur de calcul de la cote de l'eau amont d'une cloison", "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison", + "ERROR_PAR_NB_INCONSISTENT": "Le nombre de ralentisseurs devrait être %stdNb%", + "ERROR_PAR_ZR_ZD_MISMATCH": "Les valeurs de %ZR% et %ZD% ne correspondent pas : soit %ZR% devrait valoir %expectedZR%, soit %ZD% devrait valoir %expectedZD%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique", "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive", @@ -133,6 +136,8 @@ "INFO_ENUM_OUVRAGE_Q_REGIME_1": "Partiellement noyé", "INFO_ENUM_OUVRAGE_Q_REGIME_2": "Noyé", "INFO_ENUM_OUVRAGE_Q_REGIME_3": "Débit nul", + "INFO_ENUM_PARFLOWREGIME_0": "Dénoyé", + "INFO_ENUM_PARFLOWREGIME_1": "Noyé", "INFO_ENUM_STRUCTUREFLOWMODE_0": "Surface libre", "INFO_ENUM_STRUCTUREFLOWMODE_1": "En charge", "INFO_ENUM_STRUCTUREFLOWMODE_2": "Débit nul", @@ -229,6 +234,7 @@ "INFO_LIB_DISTANCE_AMONT": "Distance depuis l'amont (m)", "INFO_LIB_EC": "EC: Énergie cinétique", "INFO_LIB_ENUM_MACRORUGOFLOWTYPE": "Type d'écoulement", + "INFO_LIB_ENUM_PARFLOWREGIME": "Régime", "INFO_LIB_FLU": "Ligne d'eau fluviale", "INFO_LIB_FR": "Froude", "INFO_LIB_FS_OUVRAGE": "Ouvrage", @@ -379,6 +385,8 @@ "INFO_PARALLELSTRUCTURE_TITRE": "Lois d'ouvrages", "INFO_PAR_TITRE": "Passe à ralentisseurs : calage", "INFO_PAR_TITRE_COURT": "PAR : calage", + "INFO_PARSIMULATION_TITRE": "Passe à ralentisseurs : simulation", + "INFO_PARSIMULATION_TITRE_COURT": "PAR : simulation", "INFO_PARAMFIELD_AWAITING_CALCULATION": "En attente de calcul", "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Conditions aux limites", "INFO_PARAMFIELD_CALCULATED": "Calculé", -- GitLab From 4e421b361c8ca46ed2be631900816413d9caa3ff Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 18 Mar 2020 10:21:34 +0100 Subject: [PATCH 008/117] PAR Simulation: move L field up --- src/app/calculators/parsimulation/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/calculators/parsimulation/config.json b/src/app/calculators/parsimulation/config.json index faeb2718b..ae4302401 100644 --- a/src/app/calculators/parsimulation/config.json +++ b/src/app/calculators/parsimulation/config.json @@ -21,6 +21,7 @@ "property": "parType", "default": "PLANE" }, + "L", "S", { "id": "P", @@ -46,7 +47,6 @@ "id": "ZR2", "allowEmpty": true }, - "L", "a", "N", "M" -- GitLab From 5cf47432192108889d5f5de5af6a3f1daf175f7d Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 19 Mar 2020 09:42:29 +0100 Subject: [PATCH 009/117] Update package-lock --- package-lock.json | 1187 ++++++++++++++++++++------------------------- 1 file changed, 517 insertions(+), 670 deletions(-) diff --git a/package-lock.json b/package-lock.json index c20e1d0d7..9cfb0cb06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -124,7 +124,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -133,7 +132,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", - "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.8.3", "@babel/types": "^7.8.3" @@ -143,10 +141,8 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", - "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.8.3", - "@babel/traverse": "^7.8.3", "@babel/types": "^7.8.7" } }, @@ -154,7 +150,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", - "dev": true, "requires": { "@babel/helper-function-name": "^7.8.3", "@babel/types": "^7.8.3", @@ -165,9 +160,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", - "dev": true, "requires": { - "@babel/traverse": "^7.8.3", "@babel/types": "^7.8.3" } }, @@ -175,10 +168,8 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", "@babel/types": "^7.8.3" } }, @@ -186,7 +177,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -195,7 +185,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -204,7 +193,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -213,7 +201,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -222,7 +209,23 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", - "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/types": "^7.8.6", + "lodash": "^4.17.13" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -241,6 +244,23 @@ "uri-js": "^4.2.2" } }, + "browserslist": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", + "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001030", + "electron-to-chromium": "^1.3.363", + "node-releases": "^1.1.50" + } + }, + "caniuse-lite": { + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "dev": true + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -320,10 +340,10 @@ "tslib": "^1.9.0" } }, - "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "source-map-support": { @@ -422,9 +442,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.900.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.5.tgz", - "integrity": "sha512-BdmvD58DnAAf6/o/fRzU2l+2g4IwuIJf8x/rd9AGWd7fHrcwgJDhB9rYetB7JqYR8uOWk+AFElDpvNOj8YUy0w==", + "version": "0.900.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz", + "integrity": "sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==", "dev": true, "requires": { "loader-utils": "1.2.3", @@ -449,13 +469,13 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.900.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.5.tgz", - "integrity": "sha512-4fYZNg8X73wTjlXV37m0BRVMa27GSwhAupgv5cb9Q3Vys9sYxEUL+GJetXDxypA5YbMj5xX/xqyU9TPtvXhgRg==", + "version": "0.900.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.6.tgz", + "integrity": "sha512-45YiOhR425599Ln4xLr8F+T0QJUEo8TeJMnq30J+2hux+XdklN2P4+0Ju0902IL0r4xD57Hibmi+fQEbDDe5sQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.5", - "@angular-devkit/core": "9.0.5", + "@angular-devkit/architect": "0.900.6", + "@angular-devkit/core": "9.0.6", "rxjs": "6.5.3" }, "dependencies": { @@ -471,9 +491,9 @@ } }, "@angular-devkit/core": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.5.tgz", - "integrity": "sha512-9TPQPzfSRbV5wVEnfo1d1CS+oVXROfE7VnBRuRMilFnNhuc29wX3zvBQRTreDVyxJetLBEb9sRlcKYGaJzpKPw==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.6.tgz", + "integrity": "sha512-hCZJbnqLEm1F5Bx+ILcdd3LPgQTn4WFWpfUqMEGGj7UirRInWcz+6UpYotKGTJw85/mV01LrIbtWIkAUXbkkhg==", "dev": true, "requires": { "ajv": "6.10.2", @@ -483,6 +503,16 @@ "source-map": "0.7.3" }, "dependencies": { + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -507,12 +537,12 @@ } }, "@angular-devkit/schematics": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.5.tgz", - "integrity": "sha512-PbOYoy4YyEbR6f1jO18Rt3fJuyaaTJ3bFmws5qWGGNK2yZiP/hnSaM3VffOwoL4sgyKkI2FNKSPiQZgTl8b0Tg==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.6.tgz", + "integrity": "sha512-X7qZDJVrFcPUn+jNUeOH7Bx1D7YTpTFr0d3DBIsQzseReSGu7ugWziQPS4gc5Xm5K0nb8vx6DYtyW0FaIvX0ZA==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.5", + "@angular-devkit/core": "9.0.6", "ora": "4.0.2", "rxjs": "6.5.3" }, @@ -529,14 +559,14 @@ } }, "@angular/animations": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.5.tgz", - "integrity": "sha512-WGs4Jxw5sr8GCpxMcwEVuZnDIkdNp9qtmuI2j13v/XAaMjvJ7jssCj9+JG5uI8joCi7PFVAWokPT1DdPwWb13Q==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.6.tgz", + "integrity": "sha512-LNtzUrrjqLTlZyhuAEV0sdEV0yi52Ih/p+ozCr/ivhTSSemcPbniTBbJlFZO4NJ2BuS2iEXkXwZs3mm8Fvx5Sg==" }, "@angular/cdk": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.1.tgz", - "integrity": "sha512-yzssAqbllGYgX+WeSYLjmEWtXVG5UPZwA0+dPlh+g85nG7b70DVRVYBi8PJySydsfPX/JMherFUU9h0QOWhhZw==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.2.tgz", + "integrity": "sha512-x5niyE0iYrbVtLYjJFw2MoS+OoSbJn6y/G2pNScviDwyjBBgqRh4YgUox2kMhdPumkvuh+eA6blZoE9qpvSo2w==", "requires": { "parse5": "^5.0.0" }, @@ -550,16 +580,16 @@ } }, "@angular/cli": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.5.tgz", - "integrity": "sha512-hRGpmIwnm908eW5sA4zrVkCGaIUHYLSNu5koaLulK0jj5Iy+vkieDiBuAkD2uVvG7M59s4s4u+L0DMetIpvZQg==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.6.tgz", + "integrity": "sha512-uDXhkPcHhE4G4FlY7+LJWhXErHnkn63V8lqkKD7juivs+Epmx8oXCOVObEQTbbtw7sF6s0dM8uTzHKgoefTlaA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.5", - "@angular-devkit/core": "9.0.5", - "@angular-devkit/schematics": "9.0.5", - "@schematics/angular": "9.0.5", - "@schematics/update": "0.900.5", + "@angular-devkit/architect": "0.900.6", + "@angular-devkit/core": "9.0.6", + "@angular-devkit/schematics": "9.0.6", + "@schematics/angular": "9.0.6", + "@schematics/update": "0.900.6", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "^4.1.1", @@ -577,6 +607,16 @@ "uuid": "^3.3.2" }, "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -644,6 +684,14 @@ "string-width": "^4.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "is-fullwidth-code-point": { @@ -652,12 +700,6 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -724,6 +766,11 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -772,19 +819,19 @@ } }, "@angular/common": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.5.tgz", - "integrity": "sha512-AwZKYK5M/3762woK+3290JnBdlBvZXqxX5vVze6wk23IiBlwIV+l79+Lyfjo/4s031kibq47taaZdC7qkkBkNA==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz", + "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw==" }, "@angular/compiler": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.5.tgz", - "integrity": "sha512-TeyhRGefTOtA9N3udMrvheafoXcz/dvTTdZLcieeZQxm1SSeaQDUQ/rUH6QTOiHVNMtjOCrZ9J5rk1A4mPYuag==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz", + "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ==" }, "@angular/compiler-cli": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.5.tgz", - "integrity": "sha512-lFlasm8UBApTq4/MkxnYrRAMfpOvvg3YYBEMibuEGlaJjW/Xd1JcisUuFiooCxCIKF5phyORHmxjywGPhHqQgQ==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz", + "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -801,6 +848,101 @@ "yargs": "13.1.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", @@ -848,6 +990,14 @@ "readdirp": "~3.3.0" } }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -921,11 +1071,16 @@ "dev": true }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -941,23 +1096,33 @@ "picomatch": "^2.0.7" } }, - "@babel/plugin-transform-parameters": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz", - "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==", + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.8.7", - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - } + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { @@ -969,13 +1134,13 @@ "ansi-regex": "^4.1.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "is-number": "^7.0.0" } }, "yargs": { @@ -998,9 +1163,9 @@ } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -1010,9 +1175,9 @@ } }, "@angular/core": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.5.tgz", - "integrity": "sha512-7VznrYjaAIzeq/zQ7v6tbeoOI7JJKgChKwG7s8jRoEpENu+w2pRlRdyQul88iJLsXgObR+/TfBNm/K+G4cqAFw==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.6.tgz", + "integrity": "sha512-egpVGqqI+L1QQFn9ziHIElXb0bCzY1l8vzyQGfm2KnxHpmx2TJp2uaaHh5LRcqYR7TLeGMpqmzhRxir6Up7AAQ==" }, "@angular/flex-layout": { "version": "9.0.0-beta.29", @@ -1020,35 +1185,35 @@ "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA==" }, "@angular/forms": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.5.tgz", - "integrity": "sha512-579PXAfT92J4mghjWKiZ3Zj3xee4h3RP70YHSlsfbi94MONvryWDrnXxvUZ0zJJCVnEJQ7x+nGEp3wwWqR12Jw==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.6.tgz", + "integrity": "sha512-mxUEqQny3scxQM/21QLKgtq5EcOm1Tn5cU3rStY1L8J6Mg+Rd2Rz4SY0WXQpaRKPj+WNd+PDgdGiRs3cAjfLFQ==" }, "@angular/language-service": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.5.tgz", - "integrity": "sha512-9ykFNYZpWdoggFPK3LuTJobBZjoCEQP6kKt88ZZV7GTMIXoE7iY413KfhINoXdMwxIAbba0xlPMR/4p6jFAa4Q==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.6.tgz", + "integrity": "sha512-lyEYYsBXFhXKu3aT6XkKBmmf4c59lb/C6C15q4Dl8BW/wIuA/mNLosDKLnd/jCS0VpcY4v0HJRKg9SCopa8BhQ==", "dev": true }, "@angular/material": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.1.tgz", - "integrity": "sha512-XtfVTTzvLvw90g1sG8mV0kzkfnp2g7I/kUgwng7Zv3NG1Tzt/wEXVe6ovI45B/8qpN6i/7f2aCl7Gz4KTldAyA==" + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.2.tgz", + "integrity": "sha512-8uwwkSnsg/YlhqxD/+0Cj+1S97Xf5WUcgxSEXmC1r0/AD+o6PGL5ImIk4n+3tdgYqm7MoJZQthlIB2J0EVLjVw==" }, "@angular/platform-browser": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.5.tgz", - "integrity": "sha512-24QGcQXthYXB/wT8okJjxqss/JOk4A6O1/Fmva79k0AvwtYkl2tikcyEc5T3xZtjoi8g32AN9nbZAobtkxlqTA==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.6.tgz", + "integrity": "sha512-CA7dW+j1mVh3OUo3C2vIn05NxNgrDPK4vpfRIwBIn1gErpnIXCa2vgnRzn3H9zKizKt0iuwSIukEnWG280Q0xg==" }, "@angular/platform-browser-dynamic": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.5.tgz", - "integrity": "sha512-NRfsAwbgxOvEcpqlERDAG0wap5xJa0wKwnudTCnyvf4B0D6kLkT1Idjqv22NDW5rfM2oDWaZ/qpgpDnAo6/ZBQ==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.6.tgz", + "integrity": "sha512-Z0/qHciqbR+c2fwGxrkr77tQkEKhZpAPljGva/VNoS3Ms1OikqZB9Ev7xmZOM9656khPBU38m3aLsTXAAnQ4YA==" }, "@angular/router": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.5.tgz", - "integrity": "sha512-Sz3DQUxlzAk9aZ9eVtZRh6xF5SMg/Gb3rc5I7dL1M+mycSNoFJ4HPTXleZkKM69mMkKQ5fEtza4x26MSlF+O9w==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz", + "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw==" }, "@babel/code-frame": { "version": "7.5.5", @@ -1222,7 +1387,6 @@ "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -1234,7 +1398,6 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", - "dev": true, "requires": { "caniuse-lite": "^1.0.30001030", "electron-to-chromium": "^1.3.363", @@ -1244,14 +1407,12 @@ "caniuse-lite": { "version": "1.0.30001035", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", - "dev": true + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==" }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", @@ -1263,8 +1424,7 @@ "is-glob": "^4.0.0", "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "readdirp": "^2.2.1" } }, "convert-source-map": { @@ -1288,14 +1448,12 @@ "electron-to-chromium": { "version": "1.3.376", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz", - "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==", - "dev": true + "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==" }, "glob": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1335,16 +1493,17 @@ "node-releases": { "version": "1.1.51", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz", - "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } + "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==" }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -1372,7 +1531,6 @@ "version": "0.14.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz", "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==", - "dev": true, "requires": { "@babel/runtime": "^7.8.4", "private": "^0.1.8" @@ -1382,6 +1540,31 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "requires": { + "glob": "^7.1.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -1465,80 +1648,14 @@ "requires": { "@babel/types": "^7.8.3" } - } - } - }, - "@angular-devkit/build-optimizer": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz", - "integrity": "sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==", - "dev": true, - "requires": { - "loader-utils": "1.2.3", - "source-map": "0.7.3", - "tslib": "1.10.0", - "typescript": "3.6.4", - "webpack-sources": "1.4.3" - }, - "dependencies": { - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true }, - "typescript": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", - "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", - "dev": true - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.6.tgz", - "integrity": "sha512-45YiOhR425599Ln4xLr8F+T0QJUEo8TeJMnq30J+2hux+XdklN2P4+0Ju0902IL0r4xD57Hibmi+fQEbDDe5sQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.900.6", - "@angular-devkit/core": "9.0.6", - "rxjs": "6.5.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "@angular-devkit/core": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.6.tgz", - "integrity": "sha512-hCZJbnqLEm1F5Bx+ILcdd3LPgQTn4WFWpfUqMEGGj7UirRInWcz+6UpYotKGTJw85/mV01LrIbtWIkAUXbkkhg==", - "dev": true, - "requires": { - "ajv": "6.10.2", - "fast-json-stable-stringify": "2.0.0", - "magic-string": "0.25.4", - "rxjs": "6.5.3", - "source-map": "0.7.3" - }, - "dependencies": { - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/types": "^7.8.3" } }, "@babel/highlight": { @@ -1551,90 +1668,28 @@ "esutils": "^2.0.2", "js-tokens": "^4.0.0" } - } - } - }, - "@angular-devkit/schematics": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.6.tgz", - "integrity": "sha512-X7qZDJVrFcPUn+jNUeOH7Bx1D7YTpTFr0d3DBIsQzseReSGu7ugWziQPS4gc5Xm5K0nb8vx6DYtyW0FaIvX0ZA==", - "dev": true, - "requires": { - "@angular-devkit/core": "9.0.6", - "ora": "4.0.2", - "rxjs": "6.5.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + }, + "@babel/parser": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", "@babel/types": "^7.8.6" } - } - } - }, - "@angular/animations": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.6.tgz", - "integrity": "sha512-LNtzUrrjqLTlZyhuAEV0sdEV0yi52Ih/p+ozCr/ivhTSSemcPbniTBbJlFZO4NJ2BuS2iEXkXwZs3mm8Fvx5Sg==" - }, - "@angular/cdk": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.2.tgz", - "integrity": "sha512-x5niyE0iYrbVtLYjJFw2MoS+OoSbJn6y/G2pNScviDwyjBBgqRh4YgUox2kMhdPumkvuh+eA6blZoE9qpvSo2w==", - "requires": { - "parse5": "^5.0.0" - }, - "dependencies": { - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true - } - } - }, - "@angular/cli": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.6.tgz", - "integrity": "sha512-uDXhkPcHhE4G4FlY7+LJWhXErHnkn63V8lqkKD7juivs+Epmx8oXCOVObEQTbbtw7sF6s0dM8uTzHKgoefTlaA==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.900.6", - "@angular-devkit/core": "9.0.6", - "@angular-devkit/schematics": "9.0.6", - "@schematics/angular": "9.0.6", - "@schematics/update": "0.900.6", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "^4.1.1", - "ini": "1.3.5", - "inquirer": "7.0.0", - "npm-package-arg": "6.1.1", - "npm-pick-manifest": "3.0.2", - "open": "7.0.0", - "pacote": "9.5.8", - "read-package-tree": "5.3.1", - "rimraf": "3.0.0", - "semver": "6.3.0", - "symbol-observable": "1.2.0", - "universal-analytics": "^0.4.20", - "uuid": "^3.3.2" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", @@ -1798,28 +1853,28 @@ "@babel/types": "^7.8.6" } }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "type-fest": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" } } }, - "@angular/common": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz", - "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw==" - }, - "@angular/compiler": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz", - "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ==" - }, - "@angular/compiler-cli": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz", - "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==", + "@babel/helper-explode-assignable-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", "dev": true, "requires": { "@babel/traverse": "^7.8.3", @@ -1836,9 +1891,9 @@ } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -1888,9 +1943,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -2001,7 +2056,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -2010,7 +2064,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2119,7 +2172,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", - "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -2128,7 +2180,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2298,7 +2349,6 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", - "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.8.3", "@babel/helper-optimise-call-expression": "^7.8.3", @@ -2310,7 +2360,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -2319,7 +2368,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", - "dev": true, "requires": { "@babel/types": "^7.8.7", "jsesc": "^2.5.1", @@ -2331,7 +2379,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", @@ -2342,7 +2389,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -2351,7 +2397,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -2360,7 +2405,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2370,14 +2414,12 @@ "@babel/parser": { "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", - "dev": true + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" }, "@babel/template": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2388,7 +2430,6 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/generator": "^7.8.6", @@ -2405,7 +2446,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2416,7 +2456,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -2424,14 +2463,12 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -2439,7 +2476,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", - "dev": true, "requires": { "@babel/template": "^7.8.3", "@babel/types": "^7.8.3" @@ -2449,7 +2485,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -2458,7 +2493,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2468,14 +2502,12 @@ "@babel/parser": { "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", - "dev": true + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" }, "@babel/template": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2486,7 +2518,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -3029,22 +3060,10 @@ "js-tokens": "^4.0.0" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "@babel/parser": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -3068,6 +3087,21 @@ "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "minimist": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, @@ -3207,46 +3241,77 @@ } } }, - "@angular/core": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.6.tgz", - "integrity": "sha512-egpVGqqI+L1QQFn9ziHIElXb0bCzY1l8vzyQGfm2KnxHpmx2TJp2uaaHh5LRcqYR7TLeGMpqmzhRxir6Up7AAQ==" - }, - "@angular/flex-layout": { - "version": "9.0.0-beta.29", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.29.tgz", - "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA==" - }, - "@angular/forms": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.6.tgz", - "integrity": "sha512-mxUEqQny3scxQM/21QLKgtq5EcOm1Tn5cU3rStY1L8J6Mg+Rd2Rz4SY0WXQpaRKPj+WNd+PDgdGiRs3cAjfLFQ==" + "@babel/plugin-transform-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } }, - "@angular/language-service": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.6.tgz", - "integrity": "sha512-lyEYYsBXFhXKu3aT6XkKBmmf4c59lb/C6C15q4Dl8BW/wIuA/mNLosDKLnd/jCS0VpcY4v0HJRKg9SCopa8BhQ==", - "dev": true + "@babel/plugin-transform-member-expression-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } }, - "@angular/material": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.2.tgz", - "integrity": "sha512-8uwwkSnsg/YlhqxD/+0Cj+1S97Xf5WUcgxSEXmC1r0/AD+o6PGL5ImIk4n+3tdgYqm7MoJZQthlIB2J0EVLjVw==" + "@babel/plugin-transform-modules-amd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", + "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } }, - "@angular/platform-browser": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.6.tgz", - "integrity": "sha512-CA7dW+j1mVh3OUo3C2vIn05NxNgrDPK4vpfRIwBIn1gErpnIXCa2vgnRzn3H9zKizKt0iuwSIukEnWG280Q0xg==" + "@babel/plugin-transform-modules-commonjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", + "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } }, - "@angular/platform-browser-dynamic": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.6.tgz", - "integrity": "sha512-Z0/qHciqbR+c2fwGxrkr77tQkEKhZpAPljGva/VNoS3Ms1OikqZB9Ev7xmZOM9656khPBU38m3aLsTXAAnQ4YA==" + "@babel/plugin-transform-modules-systemjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", + "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } }, - "@angular/router": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz", - "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw==" + "@babel/plugin-transform-modules-umd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", + "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + } }, "@babel/plugin-transform-new-target": { "version": "7.8.3", @@ -3301,14 +3366,12 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" }, "regenerate-unicode-properties": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, "requires": { "regenerate": "^1.4.0" } @@ -3317,7 +3380,6 @@ "version": "4.7.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, "requires": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.2.0", @@ -3330,14 +3392,12 @@ "regjsgen": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" }, "regjsparser": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, "requires": { "jsesc": "~0.5.0" } @@ -3345,8 +3405,7 @@ "unicode-match-property-value-ecmascript": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" } } }, @@ -3510,7 +3569,6 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.2" }, @@ -3518,8 +3576,7 @@ "regenerator-runtime": { "version": "0.13.3", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", - "dev": true + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" } } }, @@ -4683,7 +4740,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" }, @@ -4692,7 +4748,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -4700,8 +4755,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" } } }, @@ -4715,7 +4769,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -4868,20 +4921,17 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-differ": { "version": "1.0.0", @@ -4930,8 +4980,7 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "arraybuffer.slice": { "version": "0.0.7", @@ -5007,8 +5056,7 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "ast-transform": { "version": "0.0.0", @@ -5087,8 +5135,7 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, "async-exit-hook": { "version": "2.0.1", @@ -5111,8 +5158,7 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { "version": "9.7.1", @@ -5279,7 +5325,6 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -5294,7 +5339,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -5303,7 +5347,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -5312,7 +5355,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -5321,7 +5363,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -5400,8 +5441,7 @@ "binary-extensions": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", - "dev": true + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" }, "blob": { "version": "0.0.5", @@ -5661,7 +5701,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -5679,7 +5718,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -6114,7 +6152,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -6273,7 +6310,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -6284,7 +6320,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -6424,7 +6459,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -6436,7 +6470,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -6654,7 +6687,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -6773,8 +6805,7 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "component-inherit": { "version": "0.0.3", @@ -6975,8 +7006,7 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { "version": "5.1.1", @@ -7658,8 +7688,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cors": { "version": "2.8.5", @@ -8402,7 +8431,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -8431,8 +8459,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "decompress-response": { "version": "3.3.0", @@ -8519,7 +8546,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8529,7 +8555,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8538,7 +8563,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8547,7 +8571,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -9562,8 +9585,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escaper": { "version": "2.5.3", @@ -9632,8 +9654,7 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.8.1", @@ -9738,7 +9759,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -9753,7 +9773,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -9762,7 +9781,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -9977,7 +9995,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -9987,7 +10004,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -10009,7 +10025,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10025,7 +10040,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10034,7 +10048,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10043,7 +10056,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10052,7 +10064,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10061,7 +10072,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -10129,8 +10139,7 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { "version": "2.2.7", @@ -10154,8 +10163,7 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", @@ -10261,7 +10269,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -10273,7 +10280,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10534,8 +10540,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "foreach": { "version": "2.0.5", @@ -10575,7 +10580,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -10649,7 +10653,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", - "dev": true, "optional": true, "requires": { "nan": "^2.9.2", @@ -10659,25 +10662,21 @@ "abbrev": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, - "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -10687,13 +10686,11 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -10703,37 +10700,31 @@ "chownr": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, - "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -10742,25 +10733,21 @@ "deep-extend": { "version": "0.6.0", "bundled": true, - "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, - "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10769,13 +10756,11 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -10791,7 +10776,6 @@ "glob": { "version": "7.1.3", "bundled": true, - "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -10805,13 +10789,11 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, - "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -10820,7 +10802,6 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -10829,7 +10810,6 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, "optional": true, "requires": { "once": "^1.3.0", @@ -10839,19 +10819,16 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, - "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -10860,13 +10837,11 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -10875,13 +10850,11 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -10891,7 +10864,6 @@ "minizlib": { "version": "1.2.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10900,7 +10872,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minimist": "0.0.8" @@ -10909,13 +10880,11 @@ "ms": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "needle": { "version": "2.2.4", "bundled": true, - "dev": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -10926,7 +10895,6 @@ "node-pre-gyp": { "version": "0.10.3", "bundled": true, - "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -10944,7 +10912,6 @@ "nopt": { "version": "4.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "abbrev": "1", @@ -10954,13 +10921,11 @@ "npm-bundled": { "version": "1.0.5", "bundled": true, - "dev": true, "optional": true }, "npm-packlist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -10970,7 +10935,6 @@ "npmlog": { "version": "4.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -10982,19 +10946,16 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "wrappy": "1" @@ -11003,19 +10964,16 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, - "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -11025,19 +10983,16 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "rc": { "version": "1.2.8", "bundled": true, - "dev": true, "optional": true, "requires": { "deep-extend": "^0.6.0", @@ -11049,7 +11004,6 @@ "minimist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true } } @@ -11057,7 +11011,6 @@ "readable-stream": { "version": "2.3.6", "bundled": true, - "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -11072,7 +11025,6 @@ "rimraf": { "version": "2.6.3", "bundled": true, - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -11081,43 +11033,36 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, - "dev": true, "optional": true }, "semver": { "version": "5.6.0", "bundled": true, - "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true, "requires": { "code-point-at": "^1.0.0", @@ -11128,7 +11073,6 @@ "string_decoder": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -11137,7 +11081,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -11146,13 +11089,11 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "tar": { "version": "4.4.8", "bundled": true, - "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", @@ -11167,13 +11108,11 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, - "dev": true, "optional": true, "requires": { "string-width": "^1.0.2 || 2" @@ -11182,13 +11121,11 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, "optional": true } } @@ -11204,6 +11141,12 @@ "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", "dev": true }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -11225,8 +11168,7 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getpass": { "version": "0.1.7", @@ -11254,7 +11196,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -11264,7 +11205,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -11327,8 +11267,7 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globalthis": { "version": "1.0.1", @@ -11496,8 +11435,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", @@ -11508,7 +11446,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11519,7 +11456,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -11529,7 +11465,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12160,7 +12095,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12169,7 +12103,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12186,7 +12119,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -12194,8 +12126,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { "version": "1.1.4", @@ -12229,7 +12160,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12238,7 +12168,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12254,7 +12183,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -12264,8 +12192,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -12278,14 +12205,12 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -12297,7 +12222,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -12334,7 +12258,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12343,7 +12266,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12389,7 +12311,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -12487,8 +12408,7 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "1.1.0", @@ -12505,8 +12425,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isbinaryfile": { "version": "4.0.4", @@ -12522,8 +12441,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isstream": { "version": "0.1.2", @@ -12772,6 +12690,15 @@ "to-fast-properties": "^2.0.0" } }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -13022,8 +12949,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.1", @@ -13052,8 +12978,7 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json-buffer": { "version": "3.0.0", @@ -13076,8 +13001,7 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", @@ -13406,8 +13330,7 @@ "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "latest-version": { "version": "5.1.0", @@ -13910,8 +13833,7 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-stream": { "version": "0.1.0", @@ -13923,7 +13845,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -14076,7 +13997,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14310,7 +14230,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -14320,7 +14239,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -14381,8 +14299,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.3", @@ -14422,14 +14339,12 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14617,7 +14532,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -14784,7 +14698,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -14795,7 +14708,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -14804,7 +14716,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -14826,7 +14737,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "^3.0.0" } @@ -14922,7 +14832,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -15550,8 +15459,7 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path-browserify": { "version": "0.0.1", @@ -15562,8 +15470,7 @@ "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", @@ -15813,8 +15720,7 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { "version": "7.0.21", @@ -16458,8 +16364,7 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", @@ -16470,8 +16375,7 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "progress": { "version": "2.0.3", @@ -16755,17 +16659,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "pupa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", - "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "pupa": { "version": "2.0.1", @@ -17074,7 +16968,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -17101,7 +16994,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -17117,8 +17009,7 @@ "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { "version": "8.1.0", @@ -17149,7 +17040,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -17216,20 +17106,17 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "request": { "version": "2.88.0", @@ -17304,8 +17191,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "responselike": { "version": "1.0.2", @@ -17346,8 +17232,7 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retry": { "version": "0.12.0", @@ -17466,14 +17351,12 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "~0.1.10" } @@ -17827,7 +17710,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -17839,7 +17721,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17945,7 +17826,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -17961,7 +17841,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -17970,7 +17849,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17978,8 +17856,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -17987,7 +17864,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -17998,7 +17874,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -18007,7 +17882,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -18016,7 +17890,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -18025,7 +17898,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -18038,7 +17910,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -18047,7 +17918,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -18262,7 +18132,6 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -18292,8 +18161,7 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "sourcemap-codec": { "version": "1.4.8", @@ -18427,7 +18295,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -18526,7 +18393,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -18536,7 +18402,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -18743,7 +18608,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -19446,14 +19310,12 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -19462,7 +19324,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -19479,7 +19340,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -19491,7 +19351,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -19806,14 +19665,12 @@ "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" @@ -19856,8 +19713,7 @@ "unicode-property-aliases-ecmascript": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", - "dev": true + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" }, "unicode-trie": { "version": "1.0.0", @@ -19881,7 +19737,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -19983,7 +19838,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -19993,7 +19847,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -20004,7 +19857,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -20014,8 +19866,7 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" } } }, @@ -20218,7 +20069,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -20226,8 +20076,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.11.0", @@ -20277,8 +20126,7 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "useragent": { "version": "2.3.0", @@ -20308,8 +20156,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util-promisify": { "version": "2.1.0", -- GitLab From e66350231b069fdc310d556073e9a46c2e02f8c4 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 20 Mar 2020 10:40:15 +0100 Subject: [PATCH 010/117] Update dependencies --- package-lock.json | 1619 +++++++++++++++++++++------------------------ package.json | 42 +- 2 files changed, 771 insertions(+), 890 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9cfb0cb06..739043b2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,12 @@ "dev": true }, "@angular-devkit/architect": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.6.tgz", - "integrity": "sha512-WK8e09DgNP1NHP1gqVQ9w+9rlRMVDJxAh4qZGJRjZBXd3LY7y84WWRmTpfuhOSu+82fR3/n76+urxraU3ZVphw==", + "version": "0.900.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.7.tgz", + "integrity": "sha512-hfiTVYc72kzbXrzK4tea6jnTDnSKpE1D+vEptBXN2tdXEVNEAQI5Qm5L1zVDtt16UdqoUTUypIgUc9jcNH1mUQ==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.6", + "@angular-devkit/core": "9.0.7", "rxjs": "6.5.3" }, "dependencies": { @@ -32,19 +32,19 @@ } }, "@angular-devkit/build-angular": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.900.6.tgz", - "integrity": "sha512-EQ4K4i7FBQyy+qY+kTBxJkxaHzYAf+qSC5ktK1rzXCe17+FK/sf2k4YtHwxB9mbBLB1ZXj0JnysssgzeoG0s+w==", + "version": "0.900.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.900.7.tgz", + "integrity": "sha512-Yv2y3OEaYEd0fE0pKvtqBpmkQYs9xJws7thHnJYCwIfYO55RfolYsXkJgAXke/4NPLrD3EsIDqoPxF7l+uw2/Q==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.6", - "@angular-devkit/build-optimizer": "0.900.6", - "@angular-devkit/build-webpack": "0.900.6", - "@angular-devkit/core": "9.0.6", + "@angular-devkit/architect": "0.900.7", + "@angular-devkit/build-optimizer": "0.900.7", + "@angular-devkit/build-webpack": "0.900.7", + "@angular-devkit/core": "9.0.7", "@babel/core": "7.7.7", "@babel/generator": "7.7.7", "@babel/preset-env": "7.7.7", - "@ngtools/webpack": "9.0.6", + "@ngtools/webpack": "9.0.7", "ajv": "6.10.2", "autoprefixer": "9.7.1", "babel-loader": "8.0.6", @@ -120,112 +120,11 @@ } } }, - "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-call-delegate": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", - "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/types": "^7.8.7" - } - }, - "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-module-transforms": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", - "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/types": "^7.8.6", - "lodash": "^4.17.13" - } - }, - "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" - }, "@babel/types": { "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -244,23 +143,6 @@ "uri-js": "^4.2.2" } }, - "browserslist": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", - "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001030", - "electron-to-chromium": "^1.3.363", - "node-releases": "^1.1.50" - } - }, - "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -442,9 +324,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz", - "integrity": "sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==", + "version": "0.900.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.7.tgz", + "integrity": "sha512-gxin2oPNMN+PYo82At2JP1Q+uxnvwyDFWA1Wl+Ufuc5zHGhjKqxdQjkdMF7OT0ihtmkllN+t/NTB7rcx/Sx9Wg==", "dev": true, "requires": { "loader-utils": "1.2.3", @@ -469,13 +351,13 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.6.tgz", - "integrity": "sha512-45YiOhR425599Ln4xLr8F+T0QJUEo8TeJMnq30J+2hux+XdklN2P4+0Ju0902IL0r4xD57Hibmi+fQEbDDe5sQ==", + "version": "0.900.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.7.tgz", + "integrity": "sha512-Nwwqjo1ZpHFLavN+nXOmuBgGjhoMBZGelDCvHtiQlQ9N6i7k9cKnP7eU5pY7jbalBguS+gWg5wJIGnbqk1K9Rg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.6", - "@angular-devkit/core": "9.0.6", + "@angular-devkit/architect": "0.900.7", + "@angular-devkit/core": "9.0.7", "rxjs": "6.5.3" }, "dependencies": { @@ -491,9 +373,9 @@ } }, "@angular-devkit/core": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.6.tgz", - "integrity": "sha512-hCZJbnqLEm1F5Bx+ILcdd3LPgQTn4WFWpfUqMEGGj7UirRInWcz+6UpYotKGTJw85/mV01LrIbtWIkAUXbkkhg==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.7.tgz", + "integrity": "sha512-tMrz36sM1xrwvFf9Qm59GwALscVlMP7rQBjtd0fIR/QbsiOAIX4AQbV+vN6Vtwnzo5NIRZY1IXJUhesWms+h5w==", "dev": true, "requires": { "ajv": "6.10.2", @@ -503,16 +385,6 @@ "source-map": "0.7.3" }, "dependencies": { - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -537,12 +409,12 @@ } }, "@angular-devkit/schematics": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.6.tgz", - "integrity": "sha512-X7qZDJVrFcPUn+jNUeOH7Bx1D7YTpTFr0d3DBIsQzseReSGu7ugWziQPS4gc5Xm5K0nb8vx6DYtyW0FaIvX0ZA==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.7.tgz", + "integrity": "sha512-ryPC+l24f3gX5DFMTLkDM/q2Kp6LPzBn6400k7j4qVdb1cIrZx+JUQd7F4iAksTTkX15EQPanptQXeztUrl9Ng==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.6", + "@angular-devkit/core": "9.0.7", "ora": "4.0.2", "rxjs": "6.5.3" }, @@ -559,14 +431,14 @@ } }, "@angular/animations": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.6.tgz", - "integrity": "sha512-LNtzUrrjqLTlZyhuAEV0sdEV0yi52Ih/p+ozCr/ivhTSSemcPbniTBbJlFZO4NJ2BuS2iEXkXwZs3mm8Fvx5Sg==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.7.tgz", + "integrity": "sha512-74gY7onajmmnksy5E0/32bFv3B9NuWxV64kqD15YjGrh8AWe1BHt5enQI+rJ2tO8m2DKnwZsctis6k0Kcy+YKQ==" }, "@angular/cdk": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.2.tgz", - "integrity": "sha512-x5niyE0iYrbVtLYjJFw2MoS+OoSbJn6y/G2pNScviDwyjBBgqRh4YgUox2kMhdPumkvuh+eA6blZoE9qpvSo2w==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.3.tgz", + "integrity": "sha512-K6XJzfqP+PE0ahyBUYrnoW+3ocwDpPN3dE9a+XRtZ0vM4P/FElweWj5zjNwWktb+uF9yal6oMPWXJNOAfonpPw==", "requires": { "parse5": "^5.0.0" }, @@ -580,16 +452,16 @@ } }, "@angular/cli": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.6.tgz", - "integrity": "sha512-uDXhkPcHhE4G4FlY7+LJWhXErHnkn63V8lqkKD7juivs+Epmx8oXCOVObEQTbbtw7sF6s0dM8uTzHKgoefTlaA==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.7.tgz", + "integrity": "sha512-/9CUNSSVyTtTNUADZ/VXJDEdhineMN/rfd35w6VsHiob49tKkeOTggaoiSne3RY4VCTqlo7GGf4KhhVXEMGnDQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.6", - "@angular-devkit/core": "9.0.6", - "@angular-devkit/schematics": "9.0.6", - "@schematics/angular": "9.0.6", - "@schematics/update": "0.900.6", + "@angular-devkit/architect": "0.900.7", + "@angular-devkit/core": "9.0.7", + "@angular-devkit/schematics": "9.0.7", + "@schematics/angular": "9.0.7", + "@schematics/update": "0.900.7", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "^4.1.1", @@ -607,16 +479,6 @@ "uuid": "^3.3.2" }, "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -684,14 +546,6 @@ "string-width": "^4.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" - }, - "dependencies": { - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - } } }, "is-fullwidth-code-point": { @@ -700,6 +554,12 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -766,11 +626,6 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -819,19 +674,19 @@ } }, "@angular/common": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz", - "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.7.tgz", + "integrity": "sha512-B58YgxZva1DBaeayOBsaUOOkoyR+GRibuNC3gfOMm2vXeW9eCNX+jvDtw767GnKm2yGzIq8wB3x6GHojN00dPw==" }, "@angular/compiler": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz", - "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.7.tgz", + "integrity": "sha512-hFpkuGpzxpK5h59LHHAjTFWsY6DCXZwgJFqvCuTPxWi/srvLGZRXrpC6Z1SlgHI9xxXaPfoa4uWw2VfA3BnqEg==" }, "@angular/compiler-cli": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz", - "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.7.tgz", + "integrity": "sha512-+RXghex63v0Vi8vpQtDpWiqpAAnrTaN3bHT5fntRenq5+Ok5vL1MJ1mzbTmBXs2tuwTqNlwMm2AlZB7G/xcDMQ==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -848,101 +703,6 @@ "yargs": "13.1.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", @@ -990,14 +750,6 @@ "readdirp": "~3.3.0" } }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -1076,11 +828,6 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -1175,9 +922,9 @@ } }, "@angular/core": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.6.tgz", - "integrity": "sha512-egpVGqqI+L1QQFn9ziHIElXb0bCzY1l8vzyQGfm2KnxHpmx2TJp2uaaHh5LRcqYR7TLeGMpqmzhRxir6Up7AAQ==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.7.tgz", + "integrity": "sha512-E9XZH5Dl+9MWG3MDC6wrKllhA8Rljpz66HOIeqKv2fHPed8kzuJZU3WJWLtbhDAXFwtGTyTZ4c82ZLSmqwTorg==" }, "@angular/flex-layout": { "version": "9.0.0-beta.29", @@ -1185,35 +932,35 @@ "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA==" }, "@angular/forms": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.6.tgz", - "integrity": "sha512-mxUEqQny3scxQM/21QLKgtq5EcOm1Tn5cU3rStY1L8J6Mg+Rd2Rz4SY0WXQpaRKPj+WNd+PDgdGiRs3cAjfLFQ==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.7.tgz", + "integrity": "sha512-PaHAmjMJDtg/3aGCPuq5BCRC1eZ/DBCpva9f7NrA1kqk0LcLdebm0v2uHwTOBtiz/VEgPvxiS4tXC4rjvUtfEg==" }, "@angular/language-service": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.6.tgz", - "integrity": "sha512-lyEYYsBXFhXKu3aT6XkKBmmf4c59lb/C6C15q4Dl8BW/wIuA/mNLosDKLnd/jCS0VpcY4v0HJRKg9SCopa8BhQ==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.7.tgz", + "integrity": "sha512-IZG1kvw48JyFRy7bfMHqBixWrEHZmXmkP5DWsi5Tw6KusaczkMghI20BevCkodPcajXWHAUHNKyp1tlE3OnH0w==", "dev": true }, "@angular/material": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.2.tgz", - "integrity": "sha512-8uwwkSnsg/YlhqxD/+0Cj+1S97Xf5WUcgxSEXmC1r0/AD+o6PGL5ImIk4n+3tdgYqm7MoJZQthlIB2J0EVLjVw==" + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.3.tgz", + "integrity": "sha512-tRdd5+z9XwsbN+4WCuH3goyEjqw1Q6vKeURCdas8bh5AVOrCt8pcFlj3yA3P/u4fdhfTeFc67PJRz8Zm0n3moQ==" }, "@angular/platform-browser": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.6.tgz", - "integrity": "sha512-CA7dW+j1mVh3OUo3C2vIn05NxNgrDPK4vpfRIwBIn1gErpnIXCa2vgnRzn3H9zKizKt0iuwSIukEnWG280Q0xg==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.7.tgz", + "integrity": "sha512-Por8omrEiSV2U/K2mm/Kuv+2R2rJkbAZ3ctEM6CWj9Y4Gz2akjOCxmEgWhhBeqdigcC3T1v707f52osf9jWBkg==" }, "@angular/platform-browser-dynamic": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.6.tgz", - "integrity": "sha512-Z0/qHciqbR+c2fwGxrkr77tQkEKhZpAPljGva/VNoS3Ms1OikqZB9Ev7xmZOM9656khPBU38m3aLsTXAAnQ4YA==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.7.tgz", + "integrity": "sha512-jwpyd93ofcRtchbayKD5v4GN4Lc7vbPe6dMUiwfnVnVAql0bOD/3YRI7w5qJ0Xx0sgQT+9Xo6jTXYnyUsZpEww==" }, "@angular/router": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz", - "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.7.tgz", + "integrity": "sha512-uKru9F/Zju//gg6INl54abnlpLdEUUO/GpCfMk4zqu8LCZGNFta6OY7VT+9DK9Vdrh/XUD70oE9WoelcRwwTYA==" }, "@babel/code-frame": { "version": "7.5.5", @@ -1247,9 +994,9 @@ }, "dependencies": { "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -1299,9 +1046,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -1351,24 +1098,6 @@ "requires": { "@babel/highlight": "^7.8.3" } - }, - "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, @@ -1383,50 +1112,6 @@ "to-fast-properties": "^2.0.0" } }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "browserslist": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", - "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", - "requires": { - "caniuse-lite": "^1.0.30001030", - "electron-to-chromium": "^1.3.363", - "node-releases": "^1.1.50" - } - }, - "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==" - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1" - } - }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -1445,43 +1130,19 @@ "ms": "^2.1.1" } }, - "electron-to-chromium": { - "version": "1.3.376", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz", - "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==" - }, - "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", + "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "ms": { @@ -1490,16 +1151,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node-releases": { - "version": "1.1.51", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz", - "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -1618,9 +1269,9 @@ } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -1738,14 +1389,14 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz", - "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", + "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.6.0" + "regexpu-core": "^4.7.0" }, "dependencies": { "jsesc": { @@ -1755,17 +1406,17 @@ "dev": true }, "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { @@ -1775,9 +1426,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", - "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -1837,9 +1488,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -1863,11 +1514,6 @@ "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" } } }, @@ -2056,6 +1702,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -2064,6 +1711,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2139,9 +1787,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -2172,6 +1820,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -2180,6 +1829,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2226,9 +1876,9 @@ } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -2278,9 +1928,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -2349,6 +1999,7 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.8.3", "@babel/helper-optimise-call-expression": "^7.8.3", @@ -2360,14 +2011,16 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, "requires": { "@babel/highlight": "^7.8.3" } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", + "dev": true, "requires": { "@babel/types": "^7.8.7", "jsesc": "^2.5.1", @@ -2379,6 +2032,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", @@ -2389,6 +2043,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -2397,6 +2052,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -2405,6 +2061,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2412,14 +2069,16 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", + "dev": true }, "@babel/template": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2430,6 +2089,7 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/generator": "^7.8.6", @@ -2446,6 +2106,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2456,6 +2117,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -2463,12 +2125,14 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -2476,6 +2140,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, "requires": { "@babel/template": "^7.8.3", "@babel/types": "^7.8.3" @@ -2485,6 +2150,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -2493,6 +2159,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2500,14 +2167,16 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", + "dev": true }, "@babel/template": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2518,6 +2187,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2557,9 +2227,9 @@ } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -2609,9 +2279,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -2697,9 +2367,9 @@ } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -2749,9 +2419,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -2893,12 +2563,12 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", - "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", + "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-create-regexp-features-plugin": "^7.8.8", "@babel/helper-plugin-utils": "^7.8.3" } }, @@ -3087,21 +2757,6 @@ "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, @@ -3115,9 +2770,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", - "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", + "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -3212,9 +2867,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -3333,9 +2988,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz", - "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz", + "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==", "dev": true, "requires": { "@babel/helper-call-delegate": "^7.8.7", @@ -3362,50 +3017,6 @@ "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" } } }, @@ -3841,9 +3452,9 @@ "dev": true }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "normalize-path": { @@ -4014,12 +3625,12 @@ } }, "@ngtools/webpack": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.0.6.tgz", - "integrity": "sha512-1R6xuQKBlVdf1lPsjN9S/BRCxPTRPPDN3E3unX2Nw4wK8XBWwm5CuSeEgp33PCwMpyWPaa7bg25Nz3Zt+DIlSQ==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.0.7.tgz", + "integrity": "sha512-MvoMaErkjESefoIrbt8F2RpKDr9KavwvH4v3hwSAKooVNFdFKNsjJ7m3gCQehumEfsYFq2mrEK2sTW4/CpFlMQ==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.6", + "@angular-devkit/core": "9.0.7", "enhanced-resolve": "4.1.1", "rxjs": "6.5.3", "webpack-sources": "1.4.3" @@ -4043,23 +3654,23 @@ "dev": true }, "@schematics/angular": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.6.tgz", - "integrity": "sha512-oYIfSJF9ISAJWJjIiUnj8Rp1m4t9T3oqKl1FzkMWXvUmR1BfkO2S2/Moi2RQ0aHG6D9Oz4CJjrsQRmjaqBpEZw==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.7.tgz", + "integrity": "sha512-3UCeexYx/YVo3kboyPZ8KgqBTduMA18AAm3s2yrC0qj41fBFVVZAZLa74uouTf4RYVgy9kR7J3uv6VLxrJPOnQ==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.6", - "@angular-devkit/schematics": "9.0.6" + "@angular-devkit/core": "9.0.7", + "@angular-devkit/schematics": "9.0.7" } }, "@schematics/update": { - "version": "0.900.6", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.900.6.tgz", - "integrity": "sha512-54Xi3FIJQWFBM91vxD9ciKkTlNWaIV7wsjKSImg53h2m2/l2VPPHyIZWI4j79dWXlfJVTNeaqPNYGzJlRvaEmA==", + "version": "0.900.7", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.900.7.tgz", + "integrity": "sha512-e9tX2DGNYfj/k9mVICpQt2bWIYyD92dlsip7LzPeZGt+R9zCp5w19uBLa8Z00OgEGzFR1krhRvkQE5OxkkAnVw==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.6", - "@angular-devkit/schematics": "9.0.6", + "@angular-devkit/core": "9.0.7", + "@angular-devkit/schematics": "9.0.7", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "npm-package-arg": "^7.0.0", @@ -4158,9 +3769,9 @@ "dev": true }, "@types/estree": { - "version": "0.0.42", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.42.tgz", - "integrity": "sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==", + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.43.tgz", + "integrity": "sha512-WfOySUnBpyKXbkC9QuZguwOGhGnugDXT2f2P6X8EIis7qlnd5NI1Nr4kRi357NtguxezyizIcaFlQe0wx23XnA==", "dev": true }, "@types/events": { @@ -4227,9 +3838,9 @@ "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew==" }, "@types/node": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.0.tgz", - "integrity": "sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==", + "version": "13.9.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz", + "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==", "dev": true }, "@types/pako": { @@ -4531,9 +4142,9 @@ }, "dependencies": { "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", "dev": true } } @@ -4740,6 +4351,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" }, @@ -4748,6 +4360,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -4755,7 +4368,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true } } }, @@ -4769,6 +4383,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -4921,17 +4536,20 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, "array-differ": { "version": "1.0.0", @@ -4980,7 +4598,8 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "arraybuffer.slice": { "version": "0.0.7", @@ -5056,7 +4675,8 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "ast-transform": { "version": "0.0.0", @@ -5135,7 +4755,8 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true }, "async-exit-hook": { "version": "2.0.1", @@ -5158,7 +4779,8 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, "autoprefixer": { "version": "9.7.1", @@ -5173,46 +4795,6 @@ "num2fraction": "^1.2.2", "postcss": "^7.0.21", "postcss-value-parser": "^4.0.2" - }, - "dependencies": { - "browserslist": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", - "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001030", - "electron-to-chromium": "^1.3.363", - "node-releases": "^1.1.50" - } - }, - "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.376", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz", - "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==", - "dev": true - }, - "node-releases": { - "version": "1.1.51", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz", - "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "aws-sign2": { @@ -5325,6 +4907,7 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -5339,6 +4922,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -5347,6 +4931,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -5355,6 +4940,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -5363,6 +4949,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -5441,7 +5028,8 @@ "binary-extensions": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", + "dev": true }, "blob": { "version": "0.0.5", @@ -5459,9 +5047,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -5701,6 +5289,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -5718,6 +5307,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -5851,14 +5441,26 @@ } }, "browserslist": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", - "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", + "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001017", - "electron-to-chromium": "^1.3.322", - "node-releases": "^1.1.44" + "caniuse-lite": "^1.0.30001035", + "electron-to-chromium": "^1.3.378", + "node-releases": "^1.1.52", + "pkg-up": "^3.1.0" + }, + "dependencies": { + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } } }, "browserstack": { @@ -6152,6 +5754,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -6272,9 +5875,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001020", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz", - "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==", + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", "dev": true }, "canonical-path": { @@ -6296,9 +5899,9 @@ "dev": true }, "cfb": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.3.tgz", - "integrity": "sha512-joXBW0nMuwV9no7UTMiyVJnQL6XIU3ThXVjFUDHgl9MpILPOomyfaGqC290VELZ48bbQKZXnQ81UT5HouTxHsw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.4.tgz", + "integrity": "sha512-rwFkl3aFO3f+ljR27YINwC0x8vPjyiEVbYbrTCKzspEf7Q++3THdfHVgJYNUbxNcupJECrLX+L40Mjm9hm/Bgw==", "requires": { "adler-32": "~1.2.0", "commander": "^2.16.0", @@ -6310,6 +5913,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -6320,6 +5924,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -6392,24 +5997,119 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "readdirp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.7" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, "chownr": { @@ -6459,6 +6159,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -6470,6 +6171,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -6687,6 +6389,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -6805,7 +6508,8 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true }, "component-inherit": { "version": "0.0.3", @@ -7006,7 +6710,8 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, "copy-webpack-plugin": { "version": "5.1.1", @@ -7688,7 +7393,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cors": { "version": "2.8.5", @@ -8431,6 +8137,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -8459,7 +8166,8 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true }, "decompress-response": { "version": "3.3.0", @@ -8546,6 +8254,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8555,6 +8264,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8563,6 +8273,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8571,6 +8282,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -9240,9 +8952,9 @@ } }, "electron-to-chromium": { - "version": "1.3.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.368.tgz", - "integrity": "sha512-fqzDipW3p+uDkHUHFPrdW3wINRKcJsbnJwBD7hgaQEQwcuLSvNLw6SeUp5gKDpTbmTl7zri7IZfhsdTUTnygJg==", + "version": "1.3.379", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz", + "integrity": "sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg==", "dev": true }, "elementtree": { @@ -9585,7 +9297,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escaper": { "version": "2.5.3", @@ -9654,7 +9367,8 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "etag": { "version": "1.8.1", @@ -9759,6 +9473,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -9773,6 +9488,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -9781,6 +9497,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -9995,6 +9712,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -10004,6 +9722,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -10025,6 +9744,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10040,6 +9760,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10048,6 +9769,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10056,6 +9778,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10064,6 +9787,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10072,6 +9796,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -10100,12 +9825,10 @@ }, "falafel": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", - "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "resolved": "", "dev": true, "requires": { "acorn": "^5.0.0", - "foreach": "^2.0.5", "isarray": "0.0.1", "object-keys": "^1.0.6" }, @@ -10139,7 +9862,8 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true }, "fast-glob": { "version": "2.2.7", @@ -10163,7 +9887,8 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -10269,6 +9994,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -10280,6 +10006,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10540,12 +10267,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "forever-agent": { @@ -10580,6 +10302,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -10653,6 +10376,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, "optional": true, "requires": { "nan": "^2.9.2", @@ -10662,21 +10386,25 @@ "abbrev": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, + "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, + "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -10686,11 +10414,13 @@ "balanced-match": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -10700,31 +10430,37 @@ "chownr": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, + "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, + "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -10733,21 +10469,25 @@ "deep-extend": { "version": "0.6.0", "bundled": true, + "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, + "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, + "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10756,11 +10496,13 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, + "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -10776,6 +10518,7 @@ "glob": { "version": "7.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -10789,11 +10532,13 @@ "has-unicode": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, + "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -10802,6 +10547,7 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -10810,6 +10556,7 @@ "inflight": { "version": "1.0.6", "bundled": true, + "dev": true, "optional": true, "requires": { "once": "^1.3.0", @@ -10819,16 +10566,19 @@ "inherits": { "version": "2.0.3", "bundled": true, + "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, + "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -10837,11 +10587,13 @@ "isarray": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, + "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -10850,11 +10602,13 @@ "minimist": { "version": "0.0.8", "bundled": true, + "dev": true, "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -10864,6 +10618,7 @@ "minizlib": { "version": "1.2.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10872,6 +10627,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minimist": "0.0.8" @@ -10880,11 +10636,13 @@ "ms": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "needle": { "version": "2.2.4", "bundled": true, + "dev": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -10895,6 +10653,7 @@ "node-pre-gyp": { "version": "0.10.3", "bundled": true, + "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -10912,6 +10671,7 @@ "nopt": { "version": "4.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "abbrev": "1", @@ -10921,11 +10681,13 @@ "npm-bundled": { "version": "1.0.5", "bundled": true, + "dev": true, "optional": true }, "npm-packlist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -10935,6 +10697,7 @@ "npmlog": { "version": "4.1.2", "bundled": true, + "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -10946,16 +10709,19 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, + "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, + "dev": true, "optional": true, "requires": { "wrappy": "1" @@ -10964,16 +10730,19 @@ "os-homedir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, + "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -10983,16 +10752,19 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "rc": { "version": "1.2.8", "bundled": true, + "dev": true, "optional": true, "requires": { "deep-extend": "^0.6.0", @@ -11004,6 +10776,7 @@ "minimist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true } } @@ -11011,6 +10784,7 @@ "readable-stream": { "version": "2.3.6", "bundled": true, + "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -11025,6 +10799,7 @@ "rimraf": { "version": "2.6.3", "bundled": true, + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -11033,36 +10808,43 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, + "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, + "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, + "dev": true, "optional": true }, "semver": { "version": "5.6.0", "bundled": true, + "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, + "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true, "requires": { "code-point-at": "^1.0.0", @@ -11073,6 +10855,7 @@ "string_decoder": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -11081,6 +10864,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -11089,11 +10873,13 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "tar": { "version": "4.4.8", "bundled": true, + "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", @@ -11108,11 +10894,13 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "string-width": "^1.0.2 || 2" @@ -11121,11 +10909,13 @@ "wrappy": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, + "dev": true, "optional": true } } @@ -11138,13 +10928,7 @@ "genfun": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", "dev": true }, "get-assigned-identifiers": { @@ -11168,7 +10952,8 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true }, "getpass": { "version": "0.1.7", @@ -11196,6 +10981,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -11205,6 +10991,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -11267,7 +11054,8 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, "globalthis": { "version": "1.0.1", @@ -11435,7 +11223,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { "version": "1.0.0", @@ -11446,6 +11235,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11456,6 +11246,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -11465,6 +11256,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12095,6 +11887,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12103,6 +11896,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12119,6 +11913,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -12126,7 +11921,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-callable": { "version": "1.1.4", @@ -12160,6 +11956,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12168,6 +11965,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12183,6 +11981,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -12192,7 +11991,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -12205,12 +12005,14 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -12222,6 +12024,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -12258,6 +12061,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12266,6 +12070,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -12311,6 +12116,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -12408,7 +12214,8 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-wsl": { "version": "1.1.0", @@ -12425,7 +12232,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isbinaryfile": { "version": "4.0.4", @@ -12441,7 +12249,8 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "isstream": { "version": "0.1.2", @@ -12562,41 +12371,10 @@ "@babel/highlight": "^7.8.3" } }, - "@babel/core": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz", - "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.7", - "@babel/helpers": "^7.8.4", - "@babel/parser": "^7.8.7", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -12646,9 +12424,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/template": { @@ -12690,15 +12468,6 @@ "to-fast-properties": "^2.0.0" } }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -12708,27 +12477,6 @@ "ms": "^2.1.1" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -12949,7 +12697,8 @@ "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 }, "js-yaml": { "version": "3.13.1", @@ -12978,7 +12727,8 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, "json-buffer": { "version": "3.0.0", @@ -13001,7 +12751,8 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -13025,9 +12776,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -13328,9 +13079,10 @@ "dev": true }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true }, "latest-version": { "version": "5.1.0", @@ -13470,6 +13222,26 @@ "serve-index": "^1.9.1" }, "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -13510,6 +13282,12 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -13557,6 +13335,12 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true } } }, @@ -13728,9 +13512,9 @@ } }, "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, "make-fetch-happen": { @@ -13833,7 +13617,8 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-stream": { "version": "0.1.0", @@ -13845,6 +13630,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -13997,6 +13783,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14230,6 +14017,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -14239,6 +14027,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -14299,7 +14088,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multicast-dns": { "version": "6.2.3", @@ -14339,12 +14129,14 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", + "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14401,12 +14193,9 @@ } }, "ngx-material-file-input": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ngx-material-file-input/-/ngx-material-file-input-2.1.0.tgz", - "integrity": "sha512-rMCuiOFg/X0yRobAUiCWzQIjZRF8SDr5cC0mZu3beD6Pyx76rFWCFJmZU+6oIzrxkLAGbXn3TPv5x1gyijuOFw==", - "requires": { - "tslib": "^1.9.0" - } + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ngx-material-file-input/-/ngx-material-file-input-2.1.1.tgz", + "integrity": "sha512-FbaIjiJnL6BZtZYWLvMSn9aSaM62AZaJegloTUphmLz5jopXPzE5W+3aC+dsf9h1IIqHSCLcyv0w+qH0ypBhMA==" }, "ngx-matomo": { "version": "0.1.4", @@ -14491,9 +14280,9 @@ } }, "node-releases": { - "version": "1.1.50", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz", - "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==", + "version": "1.1.52", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", + "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", "dev": true, "requires": { "semver": "^6.3.0" @@ -14532,6 +14321,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -14698,6 +14488,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -14708,6 +14499,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -14716,6 +14508,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -14737,6 +14530,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -14832,6 +14626,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -15459,7 +15254,8 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-browserify": { "version": "0.0.1", @@ -15470,7 +15266,8 @@ "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-exists": { "version": "3.0.0", @@ -15720,7 +15517,8 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "postcss": { "version": "7.0.21", @@ -16344,9 +16142,9 @@ "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" }, "primeng": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.0.tgz", - "integrity": "sha512-gR9uvEc9/1BXV9tfMt9dggvCAlNZjhrlarbfLPViY6Hqqr588WhOOvU40Gm8rh3sbXkfisuc6Rvhu7ePQXscHA==" + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.1.tgz", + "integrity": "sha512-BmIq5F3+xUQ96G4fD4K2uR3azGitWCum++SVCXEgzzHI4zp55Xzyd96H8vHQg/IQxdT8ftlr/OpOHKACAFNgow==" }, "printj": { "version": "1.1.2", @@ -16375,7 +16173,8 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true }, "progress": { "version": "2.0.3", @@ -16522,9 +16321,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "pify": { @@ -16659,7 +16458,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "pupa": { "version": "2.0.1", @@ -16728,9 +16528,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -16858,9 +16658,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -16968,6 +16768,7 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -16994,6 +16795,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -17009,12 +16811,13 @@ "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true }, "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", "dev": true, "requires": { "regenerate": "^1.4.0" @@ -17027,9 +16830,9 @@ "dev": true }, "regenerator-transform": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz", - "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", "dev": true, "requires": { "@babel/runtime": "^7.8.4", @@ -17040,6 +16843,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -17106,17 +16910,20 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "request": { "version": "2.88.0", @@ -17191,7 +16998,8 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "responselike": { "version": "1.0.2", @@ -17232,7 +17040,8 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "retry": { "version": "0.12.0", @@ -17351,12 +17160,14 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -17710,6 +17521,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -17721,6 +17533,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17826,6 +17639,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -17841,6 +17655,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -17849,6 +17664,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17856,7 +17672,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -17864,6 +17681,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -17874,6 +17692,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -17882,6 +17701,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -17890,6 +17710,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -17898,6 +17719,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -17910,6 +17732,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -17918,6 +17741,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -18132,6 +17956,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -18161,7 +17986,8 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "sourcemap-codec": { "version": "1.4.8", @@ -18295,6 +18121,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -18306,9 +18133,9 @@ "dev": true }, "ssf": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz", - "integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz", + "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==", "requires": { "frac": "~1.1.2" } @@ -18393,6 +18220,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -18402,6 +18230,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -18608,6 +18437,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -18915,9 +18745,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "object-inspect": { "version": "1.6.0", @@ -19214,9 +19044,9 @@ } }, "terser": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", - "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz", + "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==", "dev": true, "requires": { "commander": "^2.20.0", @@ -19310,12 +19140,14 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -19324,6 +19156,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -19340,6 +19173,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -19351,6 +19185,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -19418,9 +19253,9 @@ "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==" }, "ts-node": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz", - "integrity": "sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.7.0.tgz", + "integrity": "sha512-s659CsHrsxaRVDEleuOkGvbsA0rWHtszUNEt1r0CgAFN5ZZTQtDzpsluS7W5pOGJIa1xZE8R/zK4dEs+ldFezg==", "dev": true, "requires": { "arg": "^4.1.0", @@ -19665,21 +19500,23 @@ "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", "dev": true }, "unicode-properties": { @@ -19711,9 +19548,10 @@ } }, "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true }, "unicode-trie": { "version": "1.0.0", @@ -19737,6 +19575,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -19838,6 +19677,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -19847,6 +19687,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -19857,6 +19698,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -19866,7 +19708,8 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true } } }, @@ -19877,9 +19720,9 @@ "dev": true }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, "update-notifier": { @@ -20069,6 +19912,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -20076,7 +19920,8 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url": { "version": "0.11.0", @@ -20126,7 +19971,8 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "useragent": { "version": "2.3.0", @@ -20156,7 +20002,8 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "util-promisify": { "version": "2.1.0", @@ -20337,6 +20184,34 @@ "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } } }, "wbuf": { @@ -20979,6 +20854,11 @@ } } }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -21069,17 +20949,18 @@ "dev": true }, "xlsx": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.5.tgz", - "integrity": "sha512-iWyTqe6UGTkp3XQOeeKPEBcZvmBfzIo3hDIVDfhGIEoTGVIq2JWEk6tIx0F+oKUje3pfZUx4V1W+P6892AB8kQ==", + "version": "0.15.6", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz", + "integrity": "sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==", "requires": { "adler-32": "~1.2.0", - "cfb": "^1.1.3", + "cfb": "^1.1.4", "codepage": "~1.14.0", "commander": "~2.17.1", "crc-32": "~1.2.0", "exit-on-epipe": "~1.0.1", - "ssf": "~0.10.2" + "ssf": "~0.10.3", + "wmf": "~1.0.1" }, "dependencies": { "commander": { @@ -21199,9 +21080,9 @@ "dev": true }, "zone.js": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.2.tgz", - "integrity": "sha512-UAYfiuvxLN4oyuqhJwd21Uxb4CNawrq6fPS/05Su5L4G+1TN+HVDJMUHNMobVQDFJRir2cLAODXwluaOKB7HFg==" + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" } } } diff --git a/package.json b/package.json index b4feb7909..f8c463cac 100644 --- a/package.json +++ b/package.json @@ -35,17 +35,17 @@ }, "private": true, "dependencies": { - "@angular/animations": "^9.0.6", - "@angular/cdk": "^9.1.2", - "@angular/common": "^9.0.6", - "@angular/compiler": "^9.0.6", - "@angular/core": "^9.0.6", + "@angular/animations": "^9.0.7", + "@angular/cdk": "^9.1.3", + "@angular/common": "^9.0.7", + "@angular/compiler": "^9.0.7", + "@angular/core": "^9.0.7", "@angular/flex-layout": "^9.0.0-beta.29", - "@angular/forms": "^9.0.6", - "@angular/material": "^9.1.2", - "@angular/platform-browser": "^9.0.6", - "@angular/platform-browser-dynamic": "^9.0.6", - "@angular/router": "^9.0.6", + "@angular/forms": "^9.0.7", + "@angular/material": "^9.1.3", + "@angular/platform-browser": "^9.0.7", + "@angular/platform-browser-dynamic": "^9.0.7", + "@angular/router": "^9.0.7", "@types/pako": "^1.0.1", "@types/sprintf-js": "^1.1.2", "angular2-chartjs": "^0.5.1", @@ -62,32 +62,32 @@ "jalhyd": "file:../jalhyd", "material-design-icons": "^3.0.1", "mathjax": "^2.7.7", - "mermaid": "^8.3.1", + "mermaid": "~8.3.1", "ngx-konami": "^1.7.1", "ngx-markdown": "^9.0.0", - "ngx-material-file-input": "^2.1.0", + "ngx-material-file-input": "^2.1.1", "ngx-matomo": "^0.1.4", "ngx-webstorage-service": "^4.1.0", "pako": "^1.0.11", - "primeng": "^9.0.0", + "primeng": "^9.0.1", "roboto-fontface": "^0.10.0", "rxjs": "^6.5.4", "screenfull": "^5.0.2", "svg-pan-zoom": "^3.6.1", "tslib": "^1.11.1", - "xlsx": "^0.15.5", - "zone.js": "~0.10.2" + "xlsx": "^0.15.6", + "zone.js": "^0.10.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.900.6", - "@angular/cli": "^9.0.6", - "@angular/compiler-cli": "^9.0.6", - "@angular/language-service": "^9.0.6", + "@angular-devkit/build-angular": "^0.900.7", + "@angular/cli": "^9.0.7", + "@angular/compiler-cli": "^9.0.7", + "@angular/language-service": "^9.0.7", "@compodoc/compodoc": "^1.1.11", "@types/file-saver": "^2.0.1", "@types/jasmine": "^3.5.9", "@types/jasminewd2": "^2.0.8", - "@types/node": "^13.9.0", + "@types/node": "^13.9.2", "codelyzer": "^5.1.2", "cordova": "^9.0.0", "electron": "^8.1.1", @@ -102,7 +102,7 @@ "karma-jasmine": "^3.1.1", "karma-jasmine-html-reporter": "^1.5.2", "protractor": "^5.4.3", - "ts-node": "^8.6.2", + "ts-node": "^8.7.0", "tslint": "^6.1.0", "typescript": "~3.7.5", "webpack-dev-server": "^3.10.3" -- GitLab From bfd253eb6b4a2f2c5d9c992f619d587d289b04f5 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 20 Mar 2020 15:24:48 +0100 Subject: [PATCH 011/117] Fix #382 - PAR: add button to generate ParSimulation --- .../calculator.component.html | 5 + .../calculator.component.ts | 106 ++++++++++++++++-- src/locale/messages.en.json | 8 +- src/locale/messages.fr.json | 5 +- 4 files changed, 108 insertions(+), 16 deletions(-) diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html index aacbb2d19..b1b3ec2b0 100644 --- a/src/app/components/generic-calculator/calculator.component.html +++ b/src/app/components/generic-calculator/calculator.component.html @@ -120,6 +120,11 @@ {{ uitextGenerateRuSp }} </button> + <button mat-raised-button color="accent" id="generate-par-simulation" *ngIf="isPAR" (click)="generatePARSimulation()" + [disabled]="! generatePARSimulationEnabled" [title]="uitextGenerateParSimulationTitle"> + {{ uitextGeneratePARSimulation }} + </button> + <mat-card-content> <calc-results id="resultsComp" (afterViewChecked)="onCalcResultsViewChecked()"></calc-results> </mat-card-content> diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index a4873f788..77ffd421e 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -16,6 +16,9 @@ import { round, Nub, RegimeUniforme + Par, + ParSimulationParams, + ParSimulation } from "jalhyd"; import { generateValuesCombination } from "../../util"; @@ -216,6 +219,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_RU_SP"); } + public get uitextGeneratePARSimulation() { + return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION"); + } + public get uitextOpenHelp() { return this.intlService.localizeText("INFO_CALCULATOR_OPEN_HELP"); } @@ -594,19 +601,27 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return this.is(CalculatorType.RegimeUniforme); } + // true if current Nub is PAR + public get isPAR() { + return this.is(CalculatorType.Par); + } + /** - * Returns true if no parameter is varying + * Returns true if no parameter is varying; ignores parameters having + * one of the given {except} symbols, if any */ - private allParamsAreFixed() { + private allParamsAreFixed(except: string[] = []) { let ret = true; for (const p of this._formulaire.currentNub.parameterIterator) { - if (p.valueMode === ParamValueMode.LINK) { - ret = ret && (! p.hasMultipleValues); - } else { - // avoid calling hasMultipleValues here, because changing parameter mode in GUI - // switches valueMode before setting min/max/step or valuesList, and iterator - // checker fails to count values that do not exist yet - ret = ret && (! [ ParamValueMode.LISTE, ParamValueMode.MINMAX ].includes(p.valueMode)); + if (! except.includes(p.symbol)) { + if (p.valueMode === ParamValueMode.LINK) { + ret = ret && (! p.hasMultipleValues); + } else { + // avoid calling hasMultipleValues here, because changing parameter mode in GUI + // switches valueMode before setting min/max/step or valuesList, and iterator + // checker fails to count values that do not exist yet + ret = ret && (! [ ParamValueMode.LISTE, ParamValueMode.MINMAX ].includes(p.valueMode)); + } } } return ret; @@ -621,7 +636,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe public get uitextGeneratePabTitle() { if (! this.hasResults) { - return this.intlService.localizeText("INFO_CALCULER_D_ABORD"); + return this.intlService.localizeText("INFO_CALCULATE_FIRST"); } if (! this.allParamsAreFixed()) { return this.intlService.localizeText("INFO_PARAMETRES_FIXES"); @@ -687,7 +702,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe public get uitextGenerateSPAmontTitle(): string { if (! this.generateSPAmontEnabled) { - return this.intlService.localizeText("INFO_CALCULER_D_ABORD"); + return this.intlService.localizeText("INFO_CALCULATE_FIRST"); } else { return ""; } @@ -695,7 +710,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe public get uitextGenerateSPAvalTitle(): string { if (! this.generateSPAvalEnabled) { - return this.intlService.localizeText("INFO_CALCULER_D_ABORD"); + return this.intlService.localizeText("INFO_CALCULATE_FIRST"); } else { return ""; } @@ -825,6 +840,73 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe // calculate f.doCompute(); // go to new SP + } + ); + } + + public get generatePARSimulationEnabled(): boolean { + const parCalage = (this._formulaire.currentNub as Par); + return ( + this.hasResults + && ! parCalage.result.hasErrorMessages() + && this.allParamsAreFixed([ "Z1", "Q" ]) // only Z1 and Q may vary + ); + } + + public get uitextGenerateParSimulationTitle(): string { + if (! this.allParamsAreFixed([ "Z1", "Q" ])) { + return this.intlService.localizeText("INFO_ONLY_Z1_Q_MAY_VARY"); + } + const parCalage = (this._formulaire.currentNub as Par); + if (! this.hasResults || parCalage.result.hasErrorMessages()) { + return this.intlService.localizeText("INFO_CALCULATE_FIRST"); + } + return ""; + } + + /** + * Génère une simulation de passe à ralentisseurs à partir du calage en cours + */ + public generatePARSimulation() { + const parCalage = (this._formulaire.currentNub as Par); + const pcal = parCalage.prms; + // copy base params + const psim = new ParSimulationParams( + undefined, // Q + undefined, // Z1 + pcal.Z2.singleValue, pcal.S.singleValue, pcal.P.singleValue, + undefined, // Nb + undefined, // ZR1 + pcal.ZD1.singleValue, + undefined, // ZR2 + undefined, // ZD2 + pcal.L.singleValue, pcal.a.singleValue, pcal.N.singleValue, pcal.M.singleValue + ); + const parSimulation = new ParSimulation(psim); + Session.getInstance().registerNub(parSimulation); + + // copy other params + parSimulation.parType = parCalage.parType; + // Z1 and Q, that might be variating + psim.Z1.copyValuesFrom(pcal.Z1); + psim.Q.copyValuesFrom(pcal.Q); + // P, Nb, ZR1 + if (pcal.P.singleValue === undefined) { + psim.P.singleValue = round(parCalage.result.values.P, 3); + } + psim.Nb.singleValue = parCalage.result.values.Nb; + psim.ZR1.singleValue = round(parCalage.result.values.ZR1, 3); + // ZR2, ZD2 + if (pcal.Z2.singleValue !== undefined) { + psim.ZD2.singleValue = round(parCalage.result.values.ZD2, 3); + psim.ZR2.singleValue = round(parCalage.result.values.ZR2, 3); + } + + this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation) + .then((f: FormulaireDefinition) => { + // calculate + f.doCompute(); + // go to new ParSimulation this.router.navigate(["/calculator", f.uid]).then(); } ); diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 7bd07e4c7..a06e55a73 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -74,6 +74,7 @@ "INFO_CALCULATOR_PARAMFIXES": "Fixed parameters", "INFO_CALCULATOR_RESULTS_GENERATE_PAB": "Generate a fish ladder", "INFO_CALCULATOR_RESULTS_GENERATE_RU_SP": "Hydraulic details of section", + "INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION": "Generation a humpback fishway simulation", "INFO_CALCULATOR_RESULTS_GENERATE_SP_AMONT": "Hydraulic details of upstream section", "INFO_CALCULATOR_RESULTS_GENERATE_SP_AVAL": "Hydraulic details of downstream section", "INFO_CALCULATOR_RESULTS_TITLE": "Results", @@ -332,6 +333,7 @@ "INFO_MACRORUGOCOMPOUND_TITRE": "Compound rock-ramp fishpasses", "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "Compound RR", "INFO_MACRORUGOCOMPOUND_LINCL": "Lateral inclination (m/m): ", + "INFO_ONLY_Z1_Q_MAY_VARY": "Only upstream elevation and flow may vary", "INFO_PENTE_TITRE": "Slope", "INFO_PENTE_TITRE_COURT": "Slope", "INFO_MENU_EMPTY_SESSION_TITLE": "New session", @@ -363,7 +365,7 @@ "INFO_PAB_BASSINS": "Basins", "INFO_PAB_OUVRAGES": "Devices", "INFO_PAB_EDIT_VALUES": "Modify values", - "INFO_CALCULER_D_ABORD": "Calculate this module first", + "INFO_CALCULATE_FIRST": "Calculate this module first", "INFO_PAB_NUM_BASSIN": "Basin #", "INFO_PAB_HEADER_TYPE": "Type", "INFO_PAB_HEADER_PARAMETERS": "Parameters", @@ -383,11 +385,11 @@ "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power", "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power", "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures", - "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", - "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures", "INFO_PAR_TITRE": "Humpback fishway: setup", "INFO_PAR_TITRE_COURT": "HF: setup", + "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", + "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation", "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions", "INFO_PARAMFIELD_CALCULATED": "Calculated", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 24a05696c..5a7c91ce2 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -74,6 +74,7 @@ "INFO_CALCULATOR_PARAMFIXES": "Paramètres fixés", "INFO_CALCULATOR_RESULTS_GENERATE_PAB": "Générer une passe à bassins", "INFO_CALCULATOR_RESULTS_GENERATE_RU_SP": "Détails hydrauliques de la section", + "INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION": "Générer une simulation de passe à ralentisseurs", "INFO_CALCULATOR_RESULTS_GENERATE_SP_AMONT": "Détails hydrauliques de la section amont", "INFO_CALCULATOR_RESULTS_GENERATE_SP_AVAL": "Détails hydrauliques de la section aval", "INFO_CALCULATOR_RESULTS_TITLE": "Résultats", @@ -218,6 +219,7 @@ "INFO_LIB_BB": "Largeur du bassin", "INFO_LIB_BETA": "Coefficient béta", "INFO_LIB_BT": "Demi-ouverture du triangle", + "INFO_LIB_CD": "Coefficient de débit", "INFO_LIB_CDGR": "Coefficient de débit vanne", "INFO_LIB_CDWR": "Coefficient de débit seuil", "INFO_LIB_CDWSL": "Coefficient de débit fente", @@ -331,6 +333,7 @@ "INFO_MACRORUGOCOMPOUND_TITRE": "Passe à macro-rugosités complexe", "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "M-Rugo complexe", "INFO_MACRORUGOCOMPOUND_LINCL": "Dévers latéral (m/m) :", + "INFO_ONLY_Z1_Q_MAY_VARY": "Seuls la cote amont et le débit peuvent varier", "INFO_PENTE_TITRE": "Pente", "INFO_PENTE_TITRE_COURT": "Pente", "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session", @@ -362,7 +365,7 @@ "INFO_PAB_BASSINS": "Bassins", "INFO_PAB_OUVRAGES": "Ouvrages", "INFO_PAB_EDIT_VALUES": "Modifier les valeurs", - "INFO_CALCULER_D_ABORD": "Calculer ce module d'abord", + "INFO_CALCULATE_FIRST": "Calculer ce module d'abord", "INFO_PAB_NUM_BASSIN": "N° de bassin", "INFO_PAB_HEADER_TYPE": "Type", "INFO_PAB_HEADER_PARAMETERS": "Paramètres", -- GitLab From fda2fddcaf41a5a19553e936c9d8bfe62b2736c5 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 23 Mar 2020 11:31:12 +0100 Subject: [PATCH 012/117] Fix bug in fieldsets refresh after compute --- src/app/formulaire/definition/form-fixedvar.ts | 9 +++++---- src/app/formulaire/definition/form-macrorugo-compound.ts | 6 ++---- src/app/formulaire/definition/form-section.ts | 2 ++ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index 72928a7b9..20314b520 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -89,8 +89,8 @@ export class FormulaireFixedVar extends FormulaireDefinition { protected compute() { this.runNubCalc(this.currentNub); + this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization this.reaffectResultComponents(); - this.refreshFieldsets(); } protected reaffectResultComponents() { @@ -118,6 +118,9 @@ export class FormulaireFixedVar extends FormulaireDefinition { } } + /** + * Forces all fieldsets to update all their fields + */ protected refreshFieldsets() { for (const fs of this.allFieldsets) { fs.updateFields(); @@ -132,9 +135,7 @@ export class FormulaireFixedVar extends FormulaireDefinition { if (data.action === "propertyChange") { this.reset(); // reflect changes in GUI (who knows ?), for ex. show / hide dependent fields - for (const fs of this.allFieldsets) { - fs.updateFields(); - } + this.refreshFieldsets(); } } } diff --git a/src/app/formulaire/definition/form-macrorugo-compound.ts b/src/app/formulaire/definition/form-macrorugo-compound.ts index 663da1f96..c94dad30a 100644 --- a/src/app/formulaire/definition/form-macrorugo-compound.ts +++ b/src/app/formulaire/definition/form-macrorugo-compound.ts @@ -87,10 +87,8 @@ export class FormulaireMacrorugoCompound extends FormulaireRepeatableFieldset { * Reflect inclinedApron property state in GUI */ public updateApronState(inclined: MRCInclination) { - for (const fs of this.allFieldsets) { - // show / hide dependent fields (read from model) - fs.updateFields(); - } + // show / hide dependent fields (read from model) + this.refreshFieldsets(); // show / hide children list (GUI only) for (const elt of this.allFormElements) { if (elt instanceof FieldsetContainer) { diff --git a/src/app/formulaire/definition/form-section.ts b/src/app/formulaire/definition/form-section.ts index db63b5a1d..77669213a 100644 --- a/src/app/formulaire/definition/form-section.ts +++ b/src/app/formulaire/definition/form-section.ts @@ -18,6 +18,8 @@ export class FormulaireSection extends FormulaireFixedVar { // show / hide dependent fields fs.updateFields(); } + // show / hide dependent fields + this.refreshFieldsets(); // empty fields ? only those belonging to the specific section type if (ServiceFactory.instance.applicationSetupService.enableEmptyFieldsOnFormInit) { // "LargeurBerge" is hackily used as LargeurFond in Rectangular and Trapez sections, omit it here -- GitLab From 21f25f0f14d04a13f886dd5924d4d3814d430e86 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 23 Mar 2020 11:31:19 +0100 Subject: [PATCH 013/117] Cleaned code --- src/app/components/fixedvar-results/fixed-results.component.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index 3c7c350be..afb476e03 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -197,7 +197,6 @@ export class FixedResultsComponent extends ResultsComponentDirective { // add child type and position before label if (nub && nub.parent && nub.parent.childrenType) { const pos = nub.findPositionInParent(); - // label = this.intlService.localizeText("INFO_OUVRAGE") + " n°" + (pos + 1) + ": " + label; const cn = capitalize(this.intlService.childName(nub.parent)); label = sprintf(this.intlService.localizeText("INFO_STUFF_N"), cn) + (pos + 1) + ": " + label; -- GitLab From 402060c8c8a4a3884633768fcfb000396ad7174d Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 26 Mar 2020 15:23:31 +0100 Subject: [PATCH 014/117] Fix #383 - update Cordova config.xml --- config.xml | 8 ++++---- package.json | 4 ++-- scripts/bump-cordova-version.js | 9 +++++++++ 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 scripts/bump-cordova-version.js diff --git a/config.xml b/config.xml index 7f07f6690..7e9e138ab 100644 --- a/config.xml +++ b/config.xml @@ -1,11 +1,11 @@ <?xml version='1.0' encoding='utf-8'?> -<widget id="fr.irstea.cassiopee" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> +<widget id="fr.irstea.cassiopee" version="4.10.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>Cassiopée</name> <description> - A sample Apache Cordova application that responds to the deviceready event. + Hydraulic calculators / Modules de calcul d'hydraulique </description> - <author email="dev@cordova.apache.org" href="http://cordova.io"> - Apache Cordova Team + <author email="bug@cassiopee.g-eau.fr" href="https://cassiopee.g-eau.fr"> + UMR G-EAU </author> <content src="index.html" /> <icon src="src/android-chrome-512x512.png" /> diff --git a/package.json b/package.json index f8c463cac..c37b62214 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "build": "npm run preprocess && npm run mkdocs2pdf && npm run ng build -- --prod", "update-dist-index-mimetypes": "node scripts/update-dist-index-mimetypes.js", "build-cordova": "npm run build-no-pdf && npm run update-dist-index-mimetypes && node scripts/add-cordova-script.js", - "release-android": "npm run build-cordova && \"node_modules/.bin/cordova\" platform add android; node scripts/remove-duplicate-sitemap.js && \"node_modules/.bin/cordova\" build android && node scripts/move-cordova-release.js", + "release-android": "node scripts/bump-cordova-version.js && npm run build-cordova && \"node_modules/.bin/cordova\" platform add android; node scripts/remove-duplicate-sitemap.js && \"node_modules/.bin/cordova\" build android && node scripts/move-cordova-release.js", "electron": "npm run update-dist-index-mimetypes && \"node_modules/.bin/electron\" .", "release-linux-nocompile": "npm run update-dist-index-mimetypes && \"node_modules/.bin/electron-builder\"", "release-linux": "npm run build-no-pdf && npm run release-linux-nocompile", @@ -120,4 +120,4 @@ "android" ] } -} +} \ No newline at end of file diff --git a/scripts/bump-cordova-version.js b/scripts/bump-cordova-version.js new file mode 100644 index 000000000..e54a3f038 --- /dev/null +++ b/scripts/bump-cordova-version.js @@ -0,0 +1,9 @@ +'use strict'; + +const fs = require('fs'); + +const path = "./config.xml"; +const version = require("../package.json").version; +const contents = fs.readFileSync(path, "utf-8"); + +fs.writeFileSync(path, contents.replace(/version="[0-9]+\.[0-9]+\.[0-9]+"/, 'version="' + version + '"')); -- GitLab From 1e160bbeb2fd8cfc6896437fe325b3b4600b1d91 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 27 Mar 2020 10:38:18 +0100 Subject: [PATCH 015/117] Typo --- main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.js b/main.js index 7bcc982e9..be62978db 100644 --- a/main.js +++ b/main.js @@ -140,7 +140,7 @@ const lookForUpdates = function() { } } // else you already have the latest version - }) + }); } else { console.error("error fetching releases information"); } -- GitLab From 8b5d90029b7fe43d7d649938acfad870f844ffc7 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 27 Mar 2020 10:38:55 +0100 Subject: [PATCH 016/117] Fix #384 - Cordova: updates notifications --- config.xml | 17 +++- package-lock.json | 30 +++++- package.json | 9 +- src/assets/icons/android/ic_stat_notify.png | Bin 0 -> 14121 bytes src/assets/icons/android/icon.png | Bin 0 -> 16420 bytes src/assets/icons/android/icon_96.png | Bin 0 -> 3418 bytes src/assets/icons/ios/icon.png | Bin 0 -> 16420 bytes src/index.html | 97 ++++++++++++++++++++ 8 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 src/assets/icons/android/ic_stat_notify.png create mode 100644 src/assets/icons/android/icon.png create mode 100644 src/assets/icons/android/icon_96.png create mode 100644 src/assets/icons/ios/icon.png diff --git a/config.xml b/config.xml index 7e9e138ab..bc6c498dc 100644 --- a/config.xml +++ b/config.xml @@ -8,7 +8,7 @@ UMR G-EAU </author> <content src="index.html" /> - <icon src="src/android-chrome-512x512.png" /> + <icon src="src/assets/icons/android/icon.png" /> <plugin name="cordova-plugin-whitelist" spec="1" /> <access origin="*" /> <allow-intent href="http://*/*" /> @@ -19,11 +19,22 @@ <allow-intent href="geo:*" /> <platform name="android"> <allow-intent href="market:*" /> - <icon src="src/android-chrome-512x512.png" qualifier="ldpi" /> + <icon src="src/assets/icons/android/icon.png" qualifier="ldpi" /> + <!-- 2 following files are for notifications big icon: res://icon --> + <resource-file src="src/assets/icons/android/icon_96.png" target="app/src/main/res/icon.png" /> + <resource-file src="src/assets/icons/android/icon_96.png" target="app/src/main/res/drawable/icon.png" /> + <!-- all following files are for notifications small icon: res://ic_stat_notify --> + <resource-file src="src/assets/icons/android/ic_stat_notify.png" target="app/src/main/res/ic_stat_notify.png" /> + <resource-file src="src/assets/icons/android/ic_stat_notify.png" target="app/src/main/res/drawable/ic_stat_notify.png" /> + <!-- <resource-file src="src/assets/icons/android/ic_stat_notify_24.png" target="app/src/main/res/drawable-mdpi/ic_stat_notify.png" /> + <resource-file src="src/assets/icons/android/ic_stat_notify_36.png" target="app/src/main/res/drawable-hdpi/ic_stat_notify.png" /> + <resource-file src="src/assets/icons/android/ic_stat_notify_48.png" target="app/src/main/res/drawable-xhdpi/ic_stat_notify.png" /> + <resource-file src="src/assets/icons/android/ic_stat_notify_72.png" target="app/src/main/res/drawable-xxhdpi/ic_stat_notify.png" /> + <resource-file src="src/assets/icons/android/ic_stat_notify_96.png" target="app/src/main/res/drawable-xxxhdpi/ic_stat_notify.png" /> --> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> - <icon src="src/android-chrome-512x512.png" qualifier="ldpi" /> + <icon src="src/assets/icons/ios/icon.png" qualifier="ldpi" /> </platform> </widget> diff --git a/package-lock.json b/package-lock.json index 739043b2d..e74b6047b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7334,6 +7334,21 @@ } } }, + "cordova-plugin-advanced-http": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-2.4.1.tgz", + "integrity": "sha512-6G8MTy/d02jE6n3Y9CVyCtD5hZGiBb+/dR2AIzhKN1RGGz38g1D2C8yE4MqHRvnmry6k/KHQWT1MsHNXrjouXQ==" + }, + "cordova-plugin-app-version": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.9.tgz", + "integrity": "sha1-nbBgeGMzenEEiTAuX1CpBPFEm9s=" + }, + "cordova-plugin-badge": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/cordova-plugin-badge/-/cordova-plugin-badge-0.8.8.tgz", + "integrity": "sha512-RhIBtd5xhD/iLnxjt35jvOae28oNW/wtMZBOmQR3Rf0y4wirvA1bpAZEhBoFqL+rZGhsd6ddOdQXdex1T0DRyQ==" + }, "cordova-plugin-device": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.3.tgz", @@ -7349,6 +7364,11 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.0.tgz", "integrity": "sha512-yQcJ5coOlfkDcTfIhFJEL2A7SWtLhy50y51Cb+EEkI7Y0lP74Ec2tsMtIOhe9i8wPSoSfnDcN77Hj6CSeIjogA==" }, + "cordova-plugin-local-notification": { + "version": "0.9.0-beta.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.2.tgz", + "integrity": "sha512-63n77K1pt8dnbWnNR8QWETi9Glezi1bvNHvHWmGNIOv0xCb0phZnm+Ku49BQ+omwe8Z5voMvrA4I03SYPpv38w==" + }, "cordova-plugin-whitelist": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.4.tgz", @@ -9825,10 +9845,12 @@ }, "falafel": { "version": "2.1.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", "dev": true, "requires": { "acorn": "^5.0.0", + "foreach": "^2.0.5", "isarray": "0.0.1", "object-keys": "^1.0.6" }, @@ -10270,6 +10292,12 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", diff --git a/package.json b/package.json index c37b62214..04805cfd7 100644 --- a/package.json +++ b/package.json @@ -52,9 +52,13 @@ "angular2-hotkeys": "^2.2.0", "chartjs-plugin-zoom": "^0.7.5", "cordova-android": "^8.1.0", + "cordova-plugin-advanced-http": "^2.4.1", + "cordova-plugin-app-version": "^0.1.9", + "cordova-plugin-badge": "^0.8.8", "cordova-plugin-device": "^2.0.3", "cordova-plugin-file": "^6.0.2", "cordova-plugin-file-opener2": "^3.0.0", + "cordova-plugin-local-notification": "^0.9.0-beta.2", "cordova-plugin-whitelist": "^1.3.4", "core-js": "^3.6.4", "file-saver": "^2.0.2", @@ -114,7 +118,10 @@ "cordova-plugin-file-opener2": { "ANDROID_SUPPORT_V4_VERSION": "27.+" }, - "cordova-plugin-device": {} + "cordova-plugin-device": {}, + "cordova-plugin-local-notification": {}, + "cordova-plugin-app-version": {}, + "cordova-plugin-advanced-http": {} }, "platforms": [ "android" diff --git a/src/assets/icons/android/ic_stat_notify.png b/src/assets/icons/android/ic_stat_notify.png new file mode 100644 index 0000000000000000000000000000000000000000..9b300d9301ed2a18c10f97b850842e50e871c323 GIT binary patch literal 14121 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 Jil4vn|35JfsZ;;} literal 0 HcmV?d00001 diff --git a/src/assets/icons/android/icon.png b/src/assets/icons/android/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..67c7918826dd586f53aab4da6d7dbfe3ea96937a GIT binary patch literal 16420 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/android/icon_96.png b/src/assets/icons/android/icon_96.png new file mode 100644 index 0000000000000000000000000000000000000000..518dc99413c402fc7b20a45a44ea94c523ef1b4c GIT binary patch literal 3418 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/ios/icon.png b/src/assets/icons/ios/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..67c7918826dd586f53aab4da6d7dbfe3ea96937a GIT binary patch literal 16420 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 literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index c129854a2..55f7c5833 100644 --- a/src/index.html +++ b/src/index.html @@ -182,6 +182,103 @@ </script> </nghyd-app> + + <script type="text/javascript"> + /** + * Compares semver strings + * @see https://github.com/substack/semver-compare + */ + function semverCompare(a, b) { + var pa = a.split('.'); + var pb = b.split('.'); + for (var i = 0; i < 3; i++) { + var na = Number(pa[i]); + var nb = Number(pb[i]); + if (na > nb) return 1; + if (nb > na) return -1; + if (!isNaN(na) && isNaN(nb)) return 1; + if (isNaN(na) && !isNaN(nb)) return -1; + } + return 0; + } + /** + * Calls the Cassiopee update server to check for available updates; + * if so, displays a desktop notification which, if clicked, will + * trigger the download of the latest version installer for the + * current platform + * + * Web updates system prerequisites + * -------------------------------- + * + * ${URL} should point to an http-accessible directory containing: + * + * 1. a file named "releases.json" with a contents of the form + * { + * "latest": "4.5.0", + * "4.5.0": { + * "darwin": "cassiopee-setup-4.5.0.dmg", + * "linux": "fr.irstea.cassiopee_4.5.0_amd64.deb", + * "win32": "Cassiopée Setup 4.5.0.exe" + * }, + * "4.4.2": { + * "darwin": "cassiopee-setup-4.4.2.dmg", + * "linux": "fr.irstea.cassiopee_4.4.2_amd64.deb", + * "win32": "Cassiopée Setup 4.4.2.exe" + * } + * } + * + * 2. all platform-dependent installer files specified in "releases.json", + * at the root of the directory (ex: "fr.irstea.cassiopee_4.5.0_amd64.deb") + */ + const lookForUpdates = function() { + // Web update resources root directory + const URL = "https://cassiopee.g-eau.fr/cassiopee-releases/"; + + // detect current app version and platform + let version = "4.4.2"; // debug + cordova.getAppVersion.getVersionNumber((versionNumber) => { + version = versionNumber; + // fetch releases information + const options = { + method: 'get', + headers: { "Cache-Control": "no-cache" } + }; + cordova.plugin.http.sendRequest(URL + "releases.json", options, (response) => { + var data = JSON.parse(response.data); // This is the resultant JSON in useful form + // alert(`Youpi ! ${response.status} version=${version}, latest=${data.latest}, comp=${semverCompare(data.latest, version)}`); + // compare current version to latest version + if (data.latest && semverCompare(data.latest, version) == 1) { + // get download link for latest version, depending on platform + if (data[data.latest] && data[data.latest]["android"]) { + const latestVersionURL = URL + data[data.latest]["android"]; + // show notification + cordova.plugins.notification.local.schedule({ + title: `Cassiopee version ${data.latest} is available`, + text: "Download update installer", + foreground: true, + smallIcon: "res://ic_stat_notify", + icon: "res://icon" + }); + cordova.plugins.notification.local.on("click", () => { + // ask system to open URL with default browser + // @TODO find a way to get rid of "are you sure you want to leave this page ?" prompt + window.open(latestVersionURL, "_system"); + }); + } // else could not find link, silent fail + } // else you already have the latest version + }, (response) => { /* silent fail */}); + }); + }; + + // execute on Cordova (mobile app) only + if (window.cordova && cordova.platformId !== "browser") { + document.addEventListener("deviceready", function () { + // check updates at app startup + lookForUpdates(); + }); + } + </script> + </body> </html> \ No newline at end of file -- GitLab From 246b2b3dcd3767ba5f9cd6a0de97d3595cfddf8f Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 27 Mar 2020 16:58:20 +0100 Subject: [PATCH 017/117] Fix #374 - add stale brancehs/tags removal --- .gitlab-ci.yml | 11 +++++++++ scripts/release-version.sh | 2 +- scripts/remove-stale-branches.sh | 38 ++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100755 scripts/remove-stale-branches.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f9ecf226c..5e534df64 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,6 +76,17 @@ build: script: - npm run build -- --base-href=/cassiopee/$CI_COMMIT_REF_NAME/ +clean-stale-branches: + stage: + - deploy + - deploy-stable + only: + - pushes + - tags + - web + script: + - nodejs scripts/remove-stale-branches.sh $DEPLOY_HOST_LOGIN $DEPLOY_URL + deploy: stage: deploy only: diff --git a/scripts/release-version.sh b/scripts/release-version.sh index 128616f6f..9952d4134 100755 --- a/scripts/release-version.sh +++ b/scripts/release-version.sh @@ -51,7 +51,7 @@ rm "./$TMP_RELEASES_FILE" scp "release/Cassiopée Setup $VERSION.exe" "release/fr.irstea.cassiopee_${VERSION}_amd64.deb" "release/cassiopee-$VERSION.apk" "release/Cassiopée-${VERSION}-mac.zip" "$HOST_LOGIN:$RELEASES_DIR/" # symlink "latest" version for each platform -ssh $HOST_LOGIN /bin/bash << "EOF" +ssh $HOST_LOGIN /bin/bash << EOF cd "$RELEASES_DIR" ln -sf "Cassiopée Setup $VERSION.exe" "windows-latest.exe" ln -sf "fr.irstea.cassiopee_${VERSION}_amd64.deb" "linux-latest.deb" diff --git a/scripts/remove-stale-branches.sh b/scripts/remove-stale-branches.sh new file mode 100755 index 000000000..12d3562c5 --- /dev/null +++ b/scripts/remove-stale-branches.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# Supprime du serveur Web les "builds" de Cassiopée correspondant à des branches ou des +# tags qui n'existent plus dans le dépôt. +# Conçu pour être utilisé par Gitlab CI/CD + +if [ "$#" -lt 2 ]; then + echo "usage: $0 login@server /var/www/deploy_dir" + exit 1 +fi + +HOST_LOGIN="$1" +DEPLOY_DIR="$2" +# DEPLOY_DIR="/tmp/cassiopee" # debug + +echo "remove-stale-branches.sh: cleaning directory $DEPLOY_DIR on host $HOST_LOGIN" + +nghyd_branches=$(git ls-remote --heads origin|awk '{print $2}'|awk 'BEGIN{FS="/"} {print $3}') +nghyd_tags=$(git tag) +TNB="$nghyd_branches $nghyd_tags" + +ssh $HOST_LOGIN /bin/bash << EOF + cd $DEPLOY_DIR + LOCALTNB="$TNB" + for d in \$(ls -d *); do + found=0 + for tag_or_branch in \$LOCALTNB; do + if [[ \$d == \$tag_or_branch ]]; then + found=1 + break + fi + done + if (( \$found == 0 )); then + echo "suppression de branche/tag obsolète \$d" + rm -rf \$d + fi + done +EOF -- GitLab From fafd7e721908209dab31af57c63db6d9dde7a87c Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 27 Mar 2020 17:07:30 +0100 Subject: [PATCH 018/117] Typo on #374 --- .gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e534df64..b8ea6b89f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ stages: - install - test - build + - clean-stale-branches - deploy - deploy-stable - releases-nightly @@ -77,9 +78,7 @@ build: - npm run build -- --base-href=/cassiopee/$CI_COMMIT_REF_NAME/ clean-stale-branches: - stage: - - deploy - - deploy-stable + stage: clean-stale-branches only: - pushes - tags -- GitLab From 67ecfe1c5a621ec11f6c051733e1efacb441d86f Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 27 Mar 2020 17:32:00 +0100 Subject: [PATCH 019/117] Shameful typo on CI/CD config --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b8ea6b89f..1bd7a5da5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -84,7 +84,7 @@ clean-stale-branches: - tags - web script: - - nodejs scripts/remove-stale-branches.sh $DEPLOY_HOST_LOGIN $DEPLOY_URL + - ./scripts/remove-stale-branches.sh $DEPLOY_HOST_LOGIN $DEPLOY_URL deploy: stage: deploy -- GitLab From b399a3945d98f87b4290259d67afecc801d354eb Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 15 Apr 2020 15:17:38 +0200 Subject: [PATCH 020/117] Oops --- src/app/components/generic-calculator/calculator.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 77ffd421e..6e9adab42 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -15,7 +15,7 @@ import { ParamDefinition, round, Nub, - RegimeUniforme + RegimeUniforme, Par, ParSimulationParams, ParSimulation -- GitLab From f4d5e37aabd06c4389dd4ba1d6a17d97a8ba71f7 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 27 Apr 2020 11:25:01 +0200 Subject: [PATCH 021/117] "graphe" => "graphique" --- .../jet-trajectory-chart.component.ts | 4 ++-- .../pab-profile-chart/pab-profile-chart.component.ts | 4 ++-- src/app/components/remous-results/line-and-chart-data.ts | 6 +++--- .../components/remous-results/remous-results.component.ts | 4 ++-- .../components/results-chart/results-chart.component.ts | 8 ++++---- src/app/formulaire/definition/form-courbe-remous.ts | 2 +- src/app/results/chart-type.ts | 6 +++--- src/app/results/remous-results.ts | 2 +- src/app/results/var-results.ts | 4 ++-- src/locale/messages.fr.json | 2 +- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts index d04c5a3d2..960cda6bd 100644 --- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts +++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts @@ -34,7 +34,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { public displayChart = true; /* - * config du graphe + * config du graphique */ public graph_data: { datasets: any[] }; public graph_options: any = { @@ -175,7 +175,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { } /** - * génère les données d'un graphe de type "scatter" + * génère les données d'un graphique de type "scatter" */ private generateScatterChart() { const ySeries = this.getYSeries(); diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts index b54fe19b1..4b47585b7 100644 --- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts +++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts @@ -36,7 +36,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective { private _zoomWasChanged = false; /* - * config du graphe + * config du graphique */ public graph_data: { datasets: any[] }; public graph_options = { @@ -161,7 +161,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective { } /** - * génère les données d'un graphe de type "scatter" + * génère les données d'un graphique de type "scatter" */ private generateScatterChart() { const ySeries = this.getYSeries(); diff --git a/src/app/components/remous-results/line-and-chart-data.ts b/src/app/components/remous-results/line-and-chart-data.ts index d59b2bf70..c0c7b1d17 100644 --- a/src/app/components/remous-results/line-and-chart-data.ts +++ b/src/app/components/remous-results/line-and-chart-data.ts @@ -1,5 +1,5 @@ /** - * données pour une ligne dans le graphe + * données pour une ligne dans le graphique */ export class LineData { /** @@ -13,7 +13,7 @@ export class LineData { private _ty: any[] = []; /** - * graphe auquel aapartient la ligne + * graphique auquel appartient la ligne */ private _parentChart: ChartData; @@ -140,7 +140,7 @@ export class ChartData { } /** - * crée une ligne dans le graphe + * crée une ligne dans le graphique * @param z profondeur de la lign */ public newLine(z: number): LineData { diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index 78a522357..1e2f8d7b3 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -25,14 +25,14 @@ export class RemousResultsComponent extends ResultsComponentDirective implements private _remousResults: RemousResults; /* - * config du graphe principal + * config du graphique principal */ public graph1_type = "scatter"; public graph1_data = {}; public graph1_options = {}; /* - * config du graphe secondaire (paramètre supplémentaire sauf Hs, Hsc, Ycor, Ycon) + * config du graphique secondaire (paramètre supplémentaire sauf Hs, Hsc, Ycor, Ycon) */ public graph2_type = "line"; public graph2_data = {}; diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts index 6a94fc5c6..05247e41c 100644 --- a/src/app/components/results-chart/results-chart.component.ts +++ b/src/app/components/results-chart/results-chart.component.ts @@ -37,7 +37,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements private _graphTypeComponent: ChartTypeSelectComponent; /* - * config du graphe + * config du graphique */ public graph_type: string; public graph_data: any = {}; @@ -222,7 +222,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } /** - * génère les données d'un graphe de type "bar" + * génère les données d'un graphique de type "bar" */ private generateBarChart() { const labs = []; @@ -299,7 +299,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } /** - * génère les données d'un graphe de type "line" + * génère les données d'un graphique de type "line" */ private generateLineChart() { // same as bar chart (histogram) @@ -311,7 +311,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } /** - * génère les données d'un graphe de type "scatter" + * génère les données d'un graphique de type "scatter" */ private generateScatterChart() { this.graph_data = { diff --git a/src/app/formulaire/definition/form-courbe-remous.ts b/src/app/formulaire/definition/form-courbe-remous.ts index 11c22edd0..844a2c2c8 100644 --- a/src/app/formulaire/definition/form-courbe-remous.ts +++ b/src/app/formulaire/definition/form-courbe-remous.ts @@ -39,7 +39,7 @@ export class FormulaireCourbeRemous extends FormulaireSection { this.resultYn = sect.CalcSection("Yn"); // hauteur normale this.resultYc = sect.CalcSection("Yc"); // hauteur critique - // données du graphe + // données du graphique this.remousResults.hauteurNormale = this.resultYn.resultElement; this.remousResults.hauteurCritique = this.resultYc.resultElement; if (this.remousResults.extraParamSymbol) { diff --git a/src/app/results/chart-type.ts b/src/app/results/chart-type.ts index b36c9c180..f29e3d1ba 100644 --- a/src/app/results/chart-type.ts +++ b/src/app/results/chart-type.ts @@ -1,5 +1,5 @@ /** - * type de graphe + * type de graphique */ export enum ChartType { /** @@ -8,12 +8,12 @@ export enum ChartType { Histogram, /** - * points indépendants + * points indépendants, X non triés */ Dots, /** - * graphe XY classique + * graphique XY classique, avec X triés par ordre croissant */ Scatter, } diff --git a/src/app/results/remous-results.ts b/src/app/results/remous-results.ts index a499c8355..a96934ca7 100644 --- a/src/app/results/remous-results.ts +++ b/src/app/results/remous-results.ts @@ -42,7 +42,7 @@ export class RemousResults extends CalculatorResults { /** résultats variables pour l'affichage d'une table de résultats numériques */ private _varResults: VarResults; - /** le paramètre supplémentaire est affiché dans un graphe séparé */ + /** le paramètre supplémentaire est affiché dans un graphique séparé */ private _extraChart: boolean; /** titre de la colonne du paramètre supplémentaire */ diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts index 66642d8f8..a6322e0f6 100644 --- a/src/app/results/var-results.ts +++ b/src/app/results/var-results.ts @@ -32,7 +32,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData private _resultHeaders: string[]; /** - * type de graphe + * type de graphique */ protected _graphType: ChartType = ChartType.Scatter; @@ -52,7 +52,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData public longest: number; /** - * tableau des ordonnées du graphe des résultats variés + * tableau des ordonnées du graphique des résultats variés */ private _yValues: number[] = []; diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 5a7c91ce2..838d81582 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -398,7 +398,7 @@ "INFO_PARAMFIELD_CHART_SELECT_Y_AXIS": "Variable en ordonnée", "INFO_PARAMFIELD_CHART_TYPE_HISTOGRAM": "Histogramme", "INFO_PARAMFIELD_CHART_TYPE_DOTS": "Points", - "INFO_PARAMFIELD_CHART_TYPE": "Type de graphe", + "INFO_PARAMFIELD_CHART_TYPE": "Type de graphique", "INFO_PARAMFIELD_IN_CALCULATION_INITIAL_VALUE": "valeur initiale", "INFO_PARAMFIELD_IN_CALCULATION": "En calcul", "INFO_PARAMFIELD_PARAMCALCULER": "calculer", -- GitLab From 8652313897e515d0f9a4426b463049906d8b8ff2 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 15 May 2020 13:30:11 +0200 Subject: [PATCH 022/117] Fix #405 - variable descriptions in PAR --- src/app/calculators/par/en.json | 14 +++++++------- src/app/calculators/par/fr.json | 16 ++++++++-------- src/app/calculators/parsimulation/en.json | 14 +++++++------- src/app/calculators/parsimulation/fr.json | 16 ++++++++-------- src/locale/messages.en.json | 4 ++-- src/locale/messages.fr.json | 4 ++-- 6 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/app/calculators/par/en.json b/src/app/calculators/par/en.json index 112496a3e..6274ab345 100644 --- a/src/app/calculators/par/en.json +++ b/src/app/calculators/par/en.json @@ -10,8 +10,8 @@ "ZD1": "Upstream spilling elevation", "S": "Slope", "P": "Space between baffles", - "L": "Pass width", - "a": "Baffle / chevron height", + "L": "Total width of baffle / pattern (superactive)", + "a": "Height of the pattern / height and thickness of the chevron (chevrons)", "N": "Number of patterns", "M": "Number of longitudinal strips", @@ -27,12 +27,12 @@ "LPI": "Pass length following the slope", "LPH": "Pass length in horizontal projection", "A": "A", - "B": "B", - "C": "C", - "D": "D", + "B": "Internal width of the baffle / channel (chevrons)", + "C": "Height from the base of the baffle to the base of the triangle", + "D": "Height from the base of the baffle to its tipping point", "H": "Baffle height", - "Hmin": "Hmin", - "Hmax": "Hmax", + "Hmin": "Minimal baffle height", + "Hmax": "Maximal baffle height", "select_par_type": "Type de passe", "select_par_type_0": "Plane baffles", diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json index 2fc234d84..027b8097a 100644 --- a/src/app/calculators/par/fr.json +++ b/src/app/calculators/par/fr.json @@ -10,8 +10,8 @@ "ZD1": "Cote de déversement à l'amont", "S": "Pente", "P": "Espacement entre les ralentisseurs", - "L": "Largeur de la passe", - "a": "Hauteur des ralentisseurs / des chevrons", + "L": "Largeur totale du ralentisseur / du motif (suractifs)", + "a": "Hauteur du motif / hauteur et épaisseur du chevron (chevrons)", "N": "Nombre de motifs", "M": "Nombre de bandes longitudinales", @@ -27,12 +27,12 @@ "LPI": "Longueur de la passe en suivant la pente", "LPH": "Longueur de la passe en projection horizontale", "A": "A", - "B": "B", - "C": "C", - "D": "D", - "H": "Hauteur d'un ralentisseur", - "Hmin": "Hmin", - "Hmax": "Hmax", + "B": "Largeur interne du ralentisseur / du chenal (chevrons)", + "C": "Hauteur de la base du ralentisseur jusqu’à la base du triangle", + "D": "Hauteur de la base du ralentisseur jusqu’à sa pointe déversante", + "H": "Hauteur du ralentisseur", + "Hmin": "Hauteur minimale du ralentisseur", + "Hmax": "Hauteur maximale du ralentisseur", "select_par_type": "Type de passe", "select_par_type_0": "Ralentisseurs plans", diff --git a/src/app/calculators/parsimulation/en.json b/src/app/calculators/parsimulation/en.json index 3ff2bc405..1872b2949 100644 --- a/src/app/calculators/parsimulation/en.json +++ b/src/app/calculators/parsimulation/en.json @@ -14,8 +14,8 @@ "S": "Slope", "P": "Space between baffles", "Nb": "Number of baffles", - "L": "Pass width", - "a": "Baffle / chevron height", + "L": "Total width of baffle / pattern (superactive)", + "a": "Height of the pattern / height and thickness of the chevron (chevrons)", "N": "Number of patterns", "M": "Number of longitudinal strips", @@ -27,12 +27,12 @@ "LPI": "Pass length following the slope", "LPH": "Pass length in horizontal projection", "A": "A", - "B": "B", - "C": "C", - "D": "D", + "B": "Internal width of the baffle / channel (chevrons)", + "C": "Height from the base of the baffle to the base of the triangle", + "D": "Height from the base of the baffle to its tipping point", "H": "Baffle height", - "Hmin": "Hmin", - "Hmax": "Hmax", + "Hmin": "Minimal baffle height", + "Hmax": "Maximal baffle height", "select_par_type": "Type de passe", "select_par_type_0": "Plane baffles", diff --git a/src/app/calculators/parsimulation/fr.json b/src/app/calculators/parsimulation/fr.json index 5748df1e6..0b6c772b6 100644 --- a/src/app/calculators/parsimulation/fr.json +++ b/src/app/calculators/parsimulation/fr.json @@ -14,8 +14,8 @@ "S": "Pente", "P": "Espacement entre les ralentisseurs", "Nb": "Nombre de ralentisseurs", - "L": "Largeur de la passe", - "a": "Hauteur des ralentisseurs / des chevrons", + "L": "Largeur totale du ralentisseur / du motif (suractifs)", + "a": "Hauteur du motif / hauteur et épaisseur du chevron (chevrons)", "N": "Nombre de motifs", "M": "Nombre de bandes longitudinales", @@ -27,12 +27,12 @@ "LPI": "Longueur de la passe en suivant la pente", "LPH": "Longueur de la passe en projection horizontale", "A": "A", - "B": "B", - "C": "C", - "D": "D", - "H": "Hauteur d'un ralentisseur", - "Hmin": "Hmin", - "Hmax": "Hmax", + "B": "Largeur interne du ralentisseur / du chenal (chevrons)", + "C": "Hauteur de la base du ralentisseur jusqu’à la base du triangle", + "D": "Hauteur de la base du ralentisseur jusqu’à sa pointe déversante", + "H": "Hauteur du ralentisseur", + "Hmin": "Hauteur minimale du ralentisseur", + "Hmax": "Hauteur maximale du ralentisseur", "select_par_type": "Type de passe", "select_par_type_0": "Ralentisseurs plans", diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index a06e55a73..31b17ed80 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -535,8 +535,8 @@ "WARNING_SESSION_LOAD_NOTES_MERGED": "Notes have been merged", "WARNING_VALUE_ROUNDED_TO_INTEGER": "Value of %symbol% was rounded to %rounded%", "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%", - "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored", - "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given P value is more than 10% lower or more than 5% greater than standard value %stdP%", + "WARNING_PAR_P_WAS_IGNORED": "Given spacing value was ignored", + "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given spacing value is more than 10% lower or more than 5% greater than standard value %stdP%", "ERROR_PAR_QSTAR_OUT_OF_RANGE": "qStar value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", "ERROR_PAR_HA_OUT_OF_RANGE": "ha value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", "WARNING_PAR_L": "A witdh greater than %max% is discouraged", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 838d81582..c0c908e86 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -535,8 +535,8 @@ "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées", "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%", "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%", - "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée", - "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur de P fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%", + "WARNING_PAR_P_WAS_IGNORED": "La valeur d'espacement fournie a été ignorée", + "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur d'espacement fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%", "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% de qStar sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", "WARNING_PAR_L": "Une largeur supérieure à %max% est déconseillée", -- GitLab From de29e5eeade6bc8cf05dad85984f3637cd12cdfb Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 19 May 2020 14:48:58 +0200 Subject: [PATCH 023/117] Update jalhyd_branch --- jalhyd_branch | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jalhyd_branch b/jalhyd_branch index 989a06763..1e054d20c 100644 --- a/jalhyd_branch +++ b/jalhyd_branch @@ -1,2 +1 @@ -214-regime-uniforme-conduite-circulaire-provoquer-une-erreur-fatale-si-la-conduite-est-en-charge - +223-calage-d-une-par-remplacer-la-cote-de-deversement-par-la-charge -- GitLab From 05ca5e4464d4c9dc648806759ed08390bccbac36 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 19 May 2020 17:06:14 +0200 Subject: [PATCH 024/117] Par: replace ZD1 with ha (see jalhyd#223) --- src/app/calculators/par/config.json | 2 +- src/app/calculators/par/en.json | 4 ++-- src/app/calculators/par/fr.json | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json index 21944de32..7834b616e 100644 --- a/src/app/calculators/par/config.json +++ b/src/app/calculators/par/config.json @@ -21,7 +21,7 @@ "property": "parType", "default": "PLANE" }, - "ZD1", + "ha", "S", { "id": "P", diff --git a/src/app/calculators/par/en.json b/src/app/calculators/par/en.json index 6274ab345..dea01abe1 100644 --- a/src/app/calculators/par/en.json +++ b/src/app/calculators/par/en.json @@ -7,7 +7,7 @@ "fs_geometry": "Pass geometry", - "ZD1": "Upstream spilling elevation", + "ha": "Upstream head", "S": "Slope", "P": "Space between baffles", "L": "Total width of baffle / pattern (superactive)", @@ -16,7 +16,7 @@ "M": "Number of longitudinal strips", "h": "Water level in the pass", - "ha": "Upstream head", + "ZD1": "Upstream spilling elevation", "qStar": "Dimensionless flow", "V": "Flow velocity", "Nb": "Number of baffles", diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json index 027b8097a..120e429b1 100644 --- a/src/app/calculators/par/fr.json +++ b/src/app/calculators/par/fr.json @@ -7,7 +7,7 @@ "fs_geometry": "Géométrie de la passe", - "ZD1": "Cote de déversement à l'amont", + "ha": "Charge amont", "S": "Pente", "P": "Espacement entre les ralentisseurs", "L": "Largeur totale du ralentisseur / du motif (suractifs)", @@ -16,7 +16,7 @@ "M": "Nombre de bandes longitudinales", "h": "Hauteur d'eau dans la passe", - "ha": "Charge amont", + "ZD1": "Cote de déversement à l'amont", "qStar": "Débit adimensionnel", "V": "Vitesse débitante", "Nb": "Nombre de ralentisseurs", -- GitLab From e9b04ea1ad0a060268789c4a9dfeddadb5353982 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 20 May 2020 14:34:39 +0200 Subject: [PATCH 025/117] Generate PAR Sim from PAR: popup for variating values --- src/app/app.module.ts | 3 + src/app/calculators/par/config.json | 5 +- ...log-generate-par-simulation.component.html | 28 +++++ ...log-generate-par-simulation.component.scss | 11 ++ ...ialog-generate-par-simulation.component.ts | 109 ++++++++++++++++ .../calculator.component.ts | 119 +++++++++++++----- .../formulaire/definition/form-definition.ts | 2 +- src/locale/messages.en.json | 3 + src/locale/messages.fr.json | 3 + 9 files changed, 249 insertions(+), 34 deletions(-) create mode 100644 src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html create mode 100644 src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss create mode 100644 src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 8509d10d6..15ede0e09 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -100,6 +100,7 @@ import { DialogEditPabComponent } from "./components/dialog-edit-pab/dialog-edit import { DialogEditParamComputedComponent } from "./components/dialog-edit-param-computed/dialog-edit-param-computed.component"; import { DialogEditParamValuesComponent } from "./components/dialog-edit-param-values/dialog-edit-param-values.component"; import { DialogGeneratePABComponent } from "./components/dialog-generate-pab/dialog-generate-pab.component"; +import { DialogGeneratePARSimulationComponent } from "./components/dialog-generate-par-simulation/dialog-generate-par-simulation.component"; import { DialogLoadSessionComponent } from "./components/dialog-load-session/dialog-load-session.component"; import { DialogLogEntriesDetailsComponent } from "./components/dialog-log-entries-details/dialog-log-entries-details.component"; import { DialogSaveSessionComponent } from "./components/dialog-save-session/dialog-save-session.component"; @@ -189,6 +190,7 @@ const appRoutes: Routes = [ DialogEditParamComputedComponent, DialogEditParamValuesComponent, DialogGeneratePABComponent, + DialogGeneratePARSimulationComponent, DialogLoadSessionComponent, DialogLogEntriesDetailsComponent, DialogSaveSessionComponent, @@ -240,6 +242,7 @@ const appRoutes: Routes = [ DialogEditParamComputedComponent, DialogEditParamValuesComponent, DialogGeneratePABComponent, + DialogGeneratePARSimulationComponent, DialogSaveSessionComponent, DialogLoadSessionComponent, DialogLogEntriesDetailsComponent diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json index 7834b616e..3d592b2bd 100644 --- a/src/app/calculators/par/config.json +++ b/src/app/calculators/par/config.json @@ -4,7 +4,10 @@ "type": "fieldset", "fields": [ "Q", - "Z1", + { + "id": "Z1", + "allowEmpty": true + }, { "id": "Z2", "allowEmpty": true diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html new file mode 100644 index 000000000..3f42734c8 --- /dev/null +++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html @@ -0,0 +1,28 @@ +<h1 mat-dialog-title [innerHTML]="uitextGeneratePARSimulation"></h1> + +<form id="form-generate-par-simulation"> + + <div mat-dialog-content> + <div id="generate-par-sim-desc"> + {{ uitextDescription }} + </div> + <mat-form-field> + <mat-select id="select-combination" [placeholder]="label" [(value)]="selectedValue"> + <mat-option *ngFor="let e of entries" [value]="e" [title]="entryLabel(e)"> + {{ entryLabel(e) }} + </mat-option> + </mat-select> + </mat-form-field> + </div> + + <div mat-dialog-actions [attr.align]="'end'"> + <button mat-raised-button color="primary" [mat-dialog-close]="false" cdkFocusInitial> + {{ uitextCancel }} + </button> + <button mat-raised-button type="submit" color="warn" (click)="generatePARSimulation()" id="do-generate" + [disabled]=""> + {{ uitextGenerate }} + </button> + </div> + +</form> diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss new file mode 100644 index 000000000..6fc610865 --- /dev/null +++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss @@ -0,0 +1,11 @@ +#form-generate-par-simulation { + max-width: 500px; +} + +mat-form-field { + width: 100%; +} + +#generate-par-sim-desc { + margin-bottom: 1em; +} diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts new file mode 100644 index 000000000..dcb956902 --- /dev/null +++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts @@ -0,0 +1,109 @@ +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { Inject, Component } from "@angular/core"; + +import { I18nService } from "../../services/internationalisation.service"; +import { MultiDimensionResults } from "../../results/multidimension-results"; + +import { fv, longestVarNgParam } from "../../util"; + +@Component({ + selector: "dialog-generate-par-simulation", + templateUrl: "dialog-generate-par-simulation.component.html", + styleUrls: ["dialog-generate-par-simulation.component.scss"] +}) +export class DialogGeneratePARSimulationComponent { + + public selectedValue: number; + + /** résultats de la ParCalage */ + private _results: MultiDimensionResults; + + /** size of the longest variable value */ + private size = 0; + + /** inferred extended values list for each variating parameter */ + private varValues = []; + + constructor( + public dialogRef: MatDialogRef<DialogGeneratePARSimulationComponent>, + private intlService: I18nService, + @Inject(MAT_DIALOG_DATA) public data: any + ) { + this._results = data.results; + this.selectedValue = 0; + + if (this._results) { + // pre-extract variable parameters values + this.varValues = []; + // find longest list + const lvp = longestVarNgParam(this._results.variatedParameters); + this.size = lvp.size; + // get extended values lists for each variable parameter + for (const v of this._results.variatedParameters) { + const vv = []; + const iter = v.getExtendedValuesIterator(this.size); + while (iter.hasNext) { + const nv = iter.next(); + vv.push(fv(nv.value)); + } + this.varValues.push(vv); + } + } + } + + public generatePARSimulation() { + this.dialogRef.close({ + generate: true, + selected: this.selectedValue, + size: this.size + }); + } + + public get uitextDescription() { + return this.intlService.localizeText("INFO_DIALOG_PARSIM_DESC"); + } + + public get uitextGeneratePARSimulation() { + return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION"); + } + + public get uitextGenerate() { + return this.intlService.localizeText("INFO_OPTION_GENERATE"); + } + + public get uitextCancel() { + return this.intlService.localizeText("INFO_OPTION_CANCEL"); + } + + public get entries(): number[] { + const ret: number[] = []; + for (let i = 0; i < this.size; i++) { + ret.push(i); + } + return ret; + } + + protected entryLabel(index: number): string { + const kv = []; + for (let i = 0; i < this.varValues.length; i++) { + const vv = this.varValues[i]; + const vp = this._results.variatedParameters[i]; + let symbol = vp.symbol; + // is vp a parameter of a child Nub ? + if ( + vp.paramDefinition.parentNub + && vp.paramDefinition.parentNub !== vp.paramDefinition.originNub + ) { + const pos = vp.paramDefinition.parentNub.findPositionInParent() + 1; + symbol = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + pos + "_" + symbol; + } + kv.push(`${symbol} = ${vv[index]}`); + } + return kv.join(", "); + } + + public get label() { + return this.intlService.localizeText("INFO_PARAMFIELD_BOUNDARY_CONDITIONS"); + } + +} diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 6e9adab42..53894e408 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -40,7 +40,10 @@ import { PabTableComponent } from "../pab-table/pab-table.component"; import { MatDialog } from "@angular/material/dialog"; import { DialogConfirmCloseCalcComponent } from "../dialog-confirm-close-calc/dialog-confirm-close-calc.component"; import { DialogGeneratePABComponent } from "../dialog-generate-pab/dialog-generate-pab.component"; +import { DialogGeneratePARSimulationComponent } from "../dialog-generate-par-simulation/dialog-generate-par-simulation.component"; import { PabTable } from "../../formulaire/elements/pab-table"; +import { MultiDimensionResults } from "../../results/multidimension-results"; +import { NgParameter } from "../../formulaire/elements/ngparam"; import { HotkeysService, Hotkey } from "angular2-hotkeys"; @@ -124,6 +127,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe private router: Router, private confirmCloseCalcDialog: MatDialog, private generatePABDialog: MatDialog, + private generatePARSimulationDialog: MatDialog, private _elementRef: ElementRef, private hotkeysService: HotkeysService, private appSetupService: ApplicationSetupService, @@ -849,58 +853,109 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return ( this.hasResults && ! parCalage.result.hasErrorMessages() - && this.allParamsAreFixed([ "Z1", "Q" ]) // only Z1 and Q may vary + && parCalage.prms.Z1.isDefined + && parCalage.prms.Z2.isDefined ); } public get uitextGenerateParSimulationTitle(): string { - if (! this.allParamsAreFixed([ "Z1", "Q" ])) { - return this.intlService.localizeText("INFO_ONLY_Z1_Q_MAY_VARY"); - } const parCalage = (this._formulaire.currentNub as Par); if (! this.hasResults || parCalage.result.hasErrorMessages()) { return this.intlService.localizeText("INFO_CALCULATE_FIRST"); } + if ( + parCalage.prms.Z1.isDefined + || parCalage.prms.Z2.isDefined + ) { + return this.intlService.localizeText("INFO_Z1_Z2_MUST_BE_DEFINED"); + } return ""; } /** - * Génère une simulation de passe à ralentisseurs à partir du calage en cours + * Génère une simulation de passe à ralentisseurs à partir du calage en cours; si + * au moins un paramètre varie, propose de choisir parmi les combinaisons de valeurs */ public generatePARSimulation() { const parCalage = (this._formulaire.currentNub as Par); const pcal = parCalage.prms; - // copy base params + let pres: { [key: string]: number } = parCalage.result.values; + + const varParams: NgParameter[] = this._formulaire.getVariatedParameters(); + if (varParams.length > 0) { + // open popup to choose combination of varying parameters + const mdParResults = new MultiDimensionResults(); + mdParResults.variatedParameters = varParams; + const dialogRef = this.generatePARSimulationDialog.open( + DialogGeneratePARSimulationComponent, + { + data: { + results: mdParResults + }, + disableClose: false + } + ); + dialogRef.afterClosed().subscribe(result => { + if (result && result.generate) { + const i = result.selected; + const s = result.size; // longest variating series, ie. number of iterations + pres = parCalage.result.resultElements[i].values; + // generate set of fixed values from chosen iteration i + this.doGenerateParSimWithValues({ + Q: pcal.Q.isCalculated ? pres.Q : (pcal.Q.hasMultipleValues ? pcal.Q.getInferredValuesList(s)[i] : pcal.Q.V), + Z1: pcal.Z1.hasMultipleValues ? pcal.Z1.getInferredValuesList(s)[i] : pcal.Z1.V, + Z2: pcal.Z2.hasMultipleValues ? pcal.Z2.getInferredValuesList(s)[i] : pcal.Z2.V, + S: pcal.S.hasMultipleValues ? pcal.S.getInferredValuesList(s)[i] : pcal.S.V, + P: pcal.P.hasMultipleValues ? pcal.P.getInferredValuesList(s)[i] : pcal.P.V, + L: pcal.L.isCalculated ? pres.L : (pcal.L.hasMultipleValues ? pcal.L.getInferredValuesList(s)[i] : pcal.L.V), + N: pcal.N.hasMultipleValues ? pcal.N.getInferredValuesList(s)[i] : pcal.N.V, + M: pcal.M.hasMultipleValues ? pcal.M.getInferredValuesList(s)[i] : pcal.M.V, + Nb: pres.Nb, + ZR1: pres.ZR1, + ZD1: pres.ZD1, + ZR2: pres.ZR2, + ZD2: pres.ZD2, + a: pres.a + }); + } + }); + } else { + // no parameter is varyng, generate directly + this.doGenerateParSimWithValues({ + Q: pcal.Q.V, + Z1: pcal.Z1.singleValue, + Z2: pcal.Z2.singleValue, + S: pcal.S.singleValue, + P: pcal.P.singleValue, + L: pcal.L.V, + N: pcal.Q.singleValue, + M: pcal.Q.singleValue, + Nb: pres.Nb, + ZR1: pres.ZR1, + ZD1: pres.ZD1, + ZR2: pres.ZR2, + ZD2: pres.ZD2, + a: pres.a + }); + } + } + + /** + * Creates a new Formulaire with a ParSimulation Nub, using given + * values as parameters + */ + protected doGenerateParSimWithValues(v: any) { + const parCalage = (this._formulaire.currentNub as Par); const psim = new ParSimulationParams( - undefined, // Q - undefined, // Z1 - pcal.Z2.singleValue, pcal.S.singleValue, pcal.P.singleValue, - undefined, // Nb - undefined, // ZR1 - pcal.ZD1.singleValue, - undefined, // ZR2 - undefined, // ZD2 - pcal.L.singleValue, pcal.a.singleValue, pcal.N.singleValue, pcal.M.singleValue + round(v.Q, 3), round(v.Z1, 3), round(v.Z2, 3), + round(v.S, 3), round(v.P, 3), round(v.Nb, 3), + round(v.ZR1, 3), round(v.ZD1, 3), round(v.ZR2, 3), + round(v.ZD2, 3), round(v.L, 3), round(v.a, 3), + round(v.N, 3), round(v.M, 3) ); const parSimulation = new ParSimulation(psim); - Session.getInstance().registerNub(parSimulation); - - // copy other params parSimulation.parType = parCalage.parType; - // Z1 and Q, that might be variating - psim.Z1.copyValuesFrom(pcal.Z1); - psim.Q.copyValuesFrom(pcal.Q); - // P, Nb, ZR1 - if (pcal.P.singleValue === undefined) { - psim.P.singleValue = round(parCalage.result.values.P, 3); - } - psim.Nb.singleValue = parCalage.result.values.Nb; - psim.ZR1.singleValue = round(parCalage.result.values.ZR1, 3); - // ZR2, ZD2 - if (pcal.Z2.singleValue !== undefined) { - psim.ZD2.singleValue = round(parCalage.result.values.ZD2, 3); - psim.ZR2.singleValue = round(parCalage.result.values.ZR2, 3); - } + Session.getInstance().registerNub(parSimulation); this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation) .then((f: FormulaireDefinition) => { diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 4c55719f1..3cb94b538 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -516,7 +516,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs return ngparam; } - protected getVariatedParameters(): NgParameter[] { + public getVariatedParameters(): NgParameter[] { let res: NgParameter[] = []; // find variated local parameters res = this.getDisplayedParamListFromState(ParamRadioConfig.VAR); diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 31b17ed80..6b1e26841 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -173,6 +173,7 @@ "INFO_CHILD_TYPE_MACRORUGO_PLUR": "aprons", "INFO_CHILD_TYPE_PUISSANCE": "power", "INFO_CHILD_TYPE_PUISSANCE_PLUR": "powers", + "INFO_DIALOG_PARSIM_DESC": "Choose a combination of values to generate the simulation", "INFO_FIELDSET_ADD": "Add", "INFO_FIELDSET_COPY": "Copy", "INFO_FIELDSET_REMOVE": "Remove", @@ -333,7 +334,9 @@ "INFO_MACRORUGOCOMPOUND_TITRE": "Compound rock-ramp fishpasses", "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "Compound RR", "INFO_MACRORUGOCOMPOUND_LINCL": "Lateral inclination (m/m): ", + "INFO_ONLY_Q_MAY_VARY": "Only flow may vary", "INFO_ONLY_Z1_Q_MAY_VARY": "Only upstream elevation and flow may vary", + "INFO_Z1_Z2_MUST_BE_DEFINED": "Upstream and downstream elevations must be defined", "INFO_PENTE_TITRE": "Slope", "INFO_PENTE_TITRE_COURT": "Slope", "INFO_MENU_EMPTY_SESSION_TITLE": "New session", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index c0c908e86..74c306b9e 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -173,6 +173,7 @@ "INFO_CHILD_TYPE_MACRORUGO_PLUR": "radiers", "INFO_CHILD_TYPE_PUISSANCE": "puissance", "INFO_CHILD_TYPE_PUISSANCE_PLUR": "puissances", + "INFO_DIALOG_PARSIM_DESC": "Choisir une combinaison de valeurs pour générer la simulation", "INFO_FIELDSET_ADD": "Ajouter", "INFO_FIELDSET_COPY": "Copier", "INFO_FIELDSET_REMOVE": "Supprimer", @@ -333,7 +334,9 @@ "INFO_MACRORUGOCOMPOUND_TITRE": "Passe à macro-rugosités complexe", "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "M-Rugo complexe", "INFO_MACRORUGOCOMPOUND_LINCL": "Dévers latéral (m/m) :", + "INFO_ONLY_Q_MAY_VARY": "Seul le débit peut varier", "INFO_ONLY_Z1_Q_MAY_VARY": "Seuls la cote amont et le débit peuvent varier", + "INFO_Z1_Z2_MUST_BE_DEFINED": "Les cotes amont et aval doivent être définies", "INFO_PENTE_TITRE": "Pente", "INFO_PENTE_TITRE_COURT": "Pente", "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session", -- GitLab From eaa05ba799e388d826e153fbce16b563e1154469 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 20 May 2020 15:55:53 +0200 Subject: [PATCH 026/117] Fix missing translation --- e2e/check-translations.e2e-spec.ts | 6 +++++- .../components/generic-calculator/calculator.component.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/e2e/check-translations.e2e-spec.ts b/e2e/check-translations.e2e-spec.ts index b16c9a56d..ddcd763d3 100644 --- a/e2e/check-translations.e2e-spec.ts +++ b/e2e/check-translations.e2e-spec.ts @@ -77,7 +77,11 @@ describe("ngHyd − check translation of all calculators", () => { } // check absence of "*** message not found" in whole DOM - expect(await browser.getPageSource()).not.toContain("*** message not found"); + const ps = await browser.getPageSource(); + expect(ps).not.toContain("*** message not found"); + /* const pos = ps.indexOf("*** message not found"); + const bout = ps.substring(pos - 50, pos + 50); + console.log("------------ BOUT ---------------", bout); */ // empty session await navBar.clickMenuButton(); diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 53894e408..a72bd526e 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -814,7 +814,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe public get uitextGenerateRuSpTitle(): string { if (! this.generateRuSpEnabled) { - return this.intlService.localizeText("INFO_CALCULER_D_ABORD"); + return this.intlService.localizeText("INFO_CALCULATE_FIRST"); } else { return ""; } -- GitLab From 29cd5a6875cf2734e046744548795b3c0a2cc0d1 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 25 May 2020 11:14:14 +0200 Subject: [PATCH 027/117] =?UTF-8?q?Fix=20#394=20=E2=88=92=20PAR=20error=20?= =?UTF-8?q?messages=20:=20use=20complete=20variables=20translation=20inste?= =?UTF-8?q?ad=20of=20symbols?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/internationalisation.service.ts | 45 ++++++++++++++++--- src/locale/messages.en.json | 12 +++-- src/locale/messages.fr.json | 12 +++-- 3 files changed, 56 insertions(+), 13 deletions(-) diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts index c8e35a07e..67b16fa79 100644 --- a/src/app/services/internationalisation.service.ts +++ b/src/app/services/internationalisation.service.ts @@ -5,7 +5,8 @@ import { Message, MessageCode, Observable, Observer, LoiDebit, Nub } from "jalhy import { StringMap } from "../stringmap"; import { ApplicationSetupService } from "./app-setup.service"; import { HttpService } from "./http.service"; -import { fv } from "../util"; +import { fv, decodeHtml } from "../util"; +import { ServiceFactory } from "./service-factory"; @Injectable() export class I18nService extends Observable implements Observer { @@ -159,16 +160,50 @@ export class I18nService extends Observable implements Observer { if (r.extraVar.hasOwnProperty(k)) { const v: any = r.extraVar[k]; let s: string; - if (typeof v === "number") { - s = fv(v); + // detect variable names to translate + if (k === "variables" && Array.isArray(v)) { + // array of variable names + s = v.map((e) => { + return this.localizeText("INFO_LIB_" + e.toUpperCase()); + }).join(", "); + } else if (k.substring(0, 4) === "var_") { + // single variable name + s = this.localizeText("INFO_LIB_" + v.toUpperCase()); } else { - s = v; + if (typeof v === "number") { + s = fv(v); + } else { + s = v; + } } m = this.replaceAll(m, "%" + k + "%", s); } } - return m; + // replace "ENUM_X_Y" by translated enum value; + // example for lang "fr" : "ENUM_SPECIES_6" => "INFO_ENUM_SPECIES_6" => "Ombre commun" + // (partly redundant with MSG_* but shorter to write) + m = m.replace(/(ENUM_[^ ,;\.]+)/g, (match, p1) => { + return this.localizeText("INFO_" + p1); + }); + + // replace "FORM_ID_X" by form name in current session, if any + m = m.replace(/FORM_ID_(\w{6})/g, (match, p1) => { + const form = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(p1); // cannot inject FormulaireService => cyclic dependency :/ + let formName = "**UNKNOWN_FORM**"; + if (form !== undefined) { + formName = form.calculatorName; + } + return formName; + }); + + // replace MSG_* with the translation of * ; allows + // to inject any text translation in a message + m = m.replace(/MSG_([^ ,;\.]+)/g, (match, p1) => { + return this.localizeText(p1); + }); + + return decodeHtml(m); } /** diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 6b1e26841..a99a7e8b7 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -1,5 +1,5 @@ { - "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "At least one of the following values should be specified : %symbols%", + "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "At least one of the following values should be specified : %variables%", "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Only one regulated device is allowed on the downstream wall", "WARNING_DEVER_ZR_SUP_Z1": "Elevation of the river bed can't be higher than water elevation: Impossible to calculate the kinetic energy", "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "Downstream elevation is higher than weir elevation (possible submersion)", @@ -34,7 +34,7 @@ "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall", "ERROR_PAR_NB_INCONSISTENT": "Number of baffles should be %stdNb%", - "ERROR_PAR_ZR_ZD_MISMATCH": "Values of %ZR% and %ZD% mismatch : either %ZR% should be %expectedZR%, or %ZD% should be %expectedZD%", + "ERROR_PAR_ZR_ZD_MISMATCH": "Values of %var_ZR% and %var_ZD% mismatch : either %var_ZR% should be %expectedZR%, or %var_ZD% should be %expectedZD%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value", "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value", @@ -300,6 +300,10 @@ "INFO_LIB_ZCO": "Orifice center elevation", "INFO_LIB_ZDV": "Crest weir elevation or gate base", "INFO_LIB_ZF2": "Downstream bottom elevation", + "INFO_LIB_ZD1": "Upstream spilling elevation", + "INFO_LIB_ZD2": "Downstream spilling elevation", + "INFO_LIB_ZR1": "Upstream apron elevation", + "INFO_LIB_ZR2": "Downstream apron elevation", "INFO_LIB_ZRAM": "Upstream apron elevation", "INFO_LIB_ZRMB": "Downstream basin bottom elevation", "INFO_LIB_ZT": "Triangle top elevation", @@ -540,8 +544,8 @@ "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%", "WARNING_PAR_P_WAS_IGNORED": "Given spacing value was ignored", "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given spacing value is more than 10% lower or more than 5% greater than standard value %stdP%", - "ERROR_PAR_QSTAR_OUT_OF_RANGE": "qStar value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", - "ERROR_PAR_HA_OUT_OF_RANGE": "ha value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", + "ERROR_PAR_QSTAR_OUT_OF_RANGE": "Flow value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", + "ERROR_PAR_HA_OUT_OF_RANGE": "Upstream head value %val% is outside of validity interval [ %min%, %max% ] given by abacuses", "WARNING_PAR_L": "A witdh greater than %max% is discouraged", "ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]", "WARNING_ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 74c306b9e..79f5ff227 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -1,5 +1,5 @@ { - "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "Au moins une des valeurs suivantes doit être renseignée : %symbols%", + "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "Au moins une des valeurs suivantes doit être renseignée : %variables%", "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Un seul ouvrage régulé est autorisé sur la cloison aval", "WARNING_DEVER_ZR_SUP_Z1": "La cote du lit du cours d'eau ne peut pas être supérieure à la cote de l'eau : Impossible de calculer l'énergie cinétique", "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "La cote de l'eau aval est plus élevée que la cote du seuil (ennoiement possible)", @@ -34,7 +34,7 @@ "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval", "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison", "ERROR_PAR_NB_INCONSISTENT": "Le nombre de ralentisseurs devrait être %stdNb%", - "ERROR_PAR_ZR_ZD_MISMATCH": "Les valeurs de %ZR% et %ZD% ne correspondent pas : soit %ZR% devrait valoir %expectedZR%, soit %ZD% devrait valoir %expectedZD%", + "ERROR_PAR_ZR_ZD_MISMATCH": "Les valeurs de %var_ZR% et %var_ZD% ne correspondent pas : soit %var_ZR% devrait valoir %expectedZR%, soit %var_ZD% devrait valoir %expectedZD%", "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique", "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s", "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive", @@ -300,6 +300,10 @@ "INFO_LIB_ZCO": "Cote du centre de l'orifice", "INFO_LIB_ZDV": "Cote de la crête du déversoir ou du radier de la vanne", "INFO_LIB_ZF2": "Cote de fond aval", + "INFO_LIB_ZD1": "Cote de déversement à l'amont", + "INFO_LIB_ZD2": "Cote de déversement à l'aval", + "INFO_LIB_ZR1": "Cote de radier à l'amont", + "INFO_LIB_ZR2": "Cote de radier à l'aval", "INFO_LIB_ZRAM": "Cote du radier amont", "INFO_LIB_ZRMB": "Cote de radier mi-bassin", "INFO_LIB_ZT": "Cote haute du triangle", @@ -540,8 +544,8 @@ "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%", "WARNING_PAR_P_WAS_IGNORED": "La valeur d'espacement fournie a été ignorée", "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur d'espacement fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%", - "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% de qStar sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", - "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", + "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% du débit sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", + "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de la charge amont sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques", "WARNING_PAR_L": "Une largeur supérieure à %max% est déconseillée", "ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]", "WARNING_ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]", -- GitLab From 7e0f187ebc698a28275369c8302491b37ee3bd42 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 22 Jun 2020 10:14:48 +0200 Subject: [PATCH 028/117] Increase Protractor timeout for long tests --- protractor.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protractor.conf.js b/protractor.conf.js index f27c3aeb4..4471a0e4b 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -50,7 +50,7 @@ exports.config = { framework: 'jasmine', jasmineNodeOpts: { showColors: true, - defaultTimeoutInterval: 30000, + defaultTimeoutInterval: 50000, print: function() {} }, onPrepare() { -- GitLab From 00c262e160710b2d9944bcf5397ca2027e89c8e8 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 22 Jun 2020 10:48:29 +0200 Subject: [PATCH 029/117] Increase Protractor timeout again --- protractor.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protractor.conf.js b/protractor.conf.js index 4471a0e4b..3100e6f42 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -50,7 +50,7 @@ exports.config = { framework: 'jasmine', jasmineNodeOpts: { showColors: true, - defaultTimeoutInterval: 50000, + defaultTimeoutInterval: 120000, print: function() {} }, onPrepare() { -- GitLab From 7405d36f92ddf7291cffd6490e1c4fb28c3a4b1e Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 22 Jun 2020 11:14:43 +0200 Subject: [PATCH 030/117] Revert useless timeout increase in protractor --- protractor.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protractor.conf.js b/protractor.conf.js index 3100e6f42..f27c3aeb4 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -50,7 +50,7 @@ exports.config = { framework: 'jasmine', jasmineNodeOpts: { showColors: true, - defaultTimeoutInterval: 120000, + defaultTimeoutInterval: 30000, print: function() {} }, onPrepare() { -- GitLab From 86391c39eafd26cb2e9a4654bf8830f1237fb823 Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@irstea.fr> Date: Mon, 4 May 2020 18:34:00 +0200 Subject: [PATCH 031/117] doc: Add documentation in French for baffle fishways Refs #398 --- .../par/baffle_fishway_Fatou_slope_10_.svg | 508 +++++++++++++++++ .../par/baffle_fishway_Fatou_slope_15_.svg | 511 +++++++++++++++++ .../par/baffle_fishway_Fatou_slope_20_.svg | 512 ++++++++++++++++++ .../par/baffle_fishway_mixte_slope_10_.svg | 459 ++++++++++++++++ .../par/baffle_fishway_mixte_slope_16_.svg | 445 +++++++++++++++ .../par/baffle_fishway_plans_slope_10_.svg | 459 ++++++++++++++++ .../par/baffle_fishway_plans_slope_15_.svg | 464 ++++++++++++++++ .../par/baffle_fishway_plans_slope_20_.svg | 495 +++++++++++++++++ .../par/baffle_fishway_suractif_slope_10_.svg | 451 +++++++++++++++ .../par/baffle_fishway_suractif_slope_15_.svg | 454 ++++++++++++++++ docs/fr/calculators/par/calage.md | 38 ++ docs/fr/calculators/par/formules.md | 51 ++ docs/fr/calculators/par/simulation.md | 26 + docs/fr/calculators/par/theorie_fatou.md | 91 ++++ .../calculators/par/theorie_fatou_schema.png | Bin 0 -> 138046 bytes docs/fr/calculators/par/theorie_mixte.md | 78 +++ .../calculators/par/theorie_mixte_schema.png | Bin 0 -> 99570 bytes docs/fr/calculators/par/theorie_plans.md | 91 ++++ .../calculators/par/theorie_plans_schema.png | Bin 0 -> 95961 bytes docs/fr/calculators/par/theorie_suractif.md | 77 +++ .../par/theorie_suractif_schema.png | Bin 0 -> 75501 bytes mkdocs-fr.yml | 8 + 22 files changed, 5218 insertions(+) create mode 100644 docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg create mode 100644 docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg create mode 100644 docs/fr/calculators/par/calage.md create mode 100644 docs/fr/calculators/par/formules.md create mode 100644 docs/fr/calculators/par/simulation.md create mode 100644 docs/fr/calculators/par/theorie_fatou.md create mode 100644 docs/fr/calculators/par/theorie_fatou_schema.png create mode 100644 docs/fr/calculators/par/theorie_mixte.md create mode 100644 docs/fr/calculators/par/theorie_mixte_schema.png create mode 100644 docs/fr/calculators/par/theorie_plans.md create mode 100644 docs/fr/calculators/par/theorie_plans_schema.png create mode 100644 docs/fr/calculators/par/theorie_suractif.md create mode 100644 docs/fr/calculators/par/theorie_suractif_schema.png diff --git a/docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg new file mode 100644 index 000000000..373eb4613 --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg @@ -0,0 +1,508 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 1.0625 0 L 1.0625 -10.308594 L 8.128906 -10.308594 L 8.128906 -8.5625 L 3.144531 -8.5625 L 3.144531 -6.125 L 7.445313 -6.125 L 7.445313 -4.378906 L 3.144531 -4.378906 L 3.144531 0 Z M 1.0625 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface16"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 406.925781 C 77.101563 410.523438 71.699219 410.523438 71.699219 406.925781 C 71.699219 403.324219 77.101563 403.324219 77.101563 406.925781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 87.859375 390.464844 C 87.859375 394.066406 82.460938 394.066406 82.460938 390.464844 C 82.460938 386.863281 87.859375 386.863281 87.859375 390.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.1875 375.652344 C 99.1875 379.25 93.789063 379.25 93.789063 375.652344 C 93.789063 372.050781 99.1875 372.050781 99.1875 375.652344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 108.816406 362.484375 C 108.816406 366.085938 103.417969 366.085938 103.417969 362.484375 C 103.417969 358.882813 108.816406 358.882813 108.816406 362.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.011719 349.316406 C 119.011719 352.917969 113.613281 352.917969 113.613281 349.316406 C 113.613281 345.714844 119.011719 345.714844 119.011719 349.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.402344 324.628906 C 139.402344 328.226563 134 328.226563 134 324.628906 C 134 321.027344 139.402344 321.027344 139.402344 324.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 148.460938 314.753906 C 148.460938 318.351563 143.0625 318.351563 143.0625 314.753906 C 143.0625 311.152344 148.460938 311.152344 148.460938 314.753906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 163.1875 295 C 163.1875 298.601563 157.789063 298.601563 157.789063 295 C 157.789063 291.402344 163.1875 291.402344 163.1875 295 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 177.914063 280.1875 C 177.914063 283.789063 172.515625 283.789063 172.515625 280.1875 C 172.515625 276.585938 177.914063 276.585938 177.914063 280.1875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.808594 265.375 C 189.808594 268.972656 184.40625 268.972656 184.40625 265.375 C 184.40625 261.773438 189.808594 261.773438 189.808594 265.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.800781 248.914063 C 206.800781 252.515625 201.398438 252.515625 201.398438 248.914063 C 201.398438 245.316406 206.800781 245.316406 206.800781 248.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.65625 232.457031 C 222.65625 236.054688 217.257813 236.054688 217.257813 232.457031 C 217.257813 228.855469 222.65625 228.855469 222.65625 232.457031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.550781 220.933594 C 234.550781 224.535156 229.152344 224.535156 229.152344 220.933594 C 229.152344 217.332031 234.550781 217.332031 234.550781 220.933594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 249.277344 206.121094 C 249.277344 209.71875 243.878906 209.71875 243.878906 206.121094 C 243.878906 202.519531 249.277344 202.519531 249.277344 206.121094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 264.570313 192.953125 C 264.570313 196.554688 259.167969 196.554688 259.167969 192.953125 C 259.167969 189.351563 264.570313 189.351563 264.570313 192.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 282.691406 178.960938 C 282.691406 182.5625 277.292969 182.5625 277.292969 178.960938 C 277.292969 175.363281 282.691406 175.363281 282.691406 178.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.683594 163.328125 C 299.683594 166.925781 294.285156 166.925781 294.285156 163.328125 C 294.285156 159.726563 299.683594 159.726563 299.683594 163.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.375 150.160156 C 318.375 153.757813 312.972656 153.757813 312.972656 150.160156 C 312.972656 146.558594 318.375 146.558594 318.375 150.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.800781 138.636719 C 334.800781 142.238281 329.398438 142.238281 329.398438 138.636719 C 329.398438 135.039063 334.800781 135.039063 334.800781 138.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 348.390625 129.585938 C 348.390625 133.183594 342.992188 133.183594 342.992188 129.585938 C 342.992188 125.984375 348.390625 125.984375 348.390625 129.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.515625 117.238281 C 366.515625 120.839844 361.117188 120.839844 361.117188 117.238281 C 361.117188 113.640625 366.515625 113.640625 366.515625 117.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.941406 105.71875 C 382.941406 109.320313 377.539063 109.320313 377.539063 105.71875 C 377.539063 102.117188 382.941406 102.117188 382.941406 105.71875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 408.992188 94.195313 C 408.992188 97.796875 403.59375 97.796875 403.59375 94.195313 C 403.59375 90.597656 408.992188 90.597656 408.992188 94.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 429.949219 82.675781 C 429.949219 86.277344 424.550781 86.277344 424.550781 82.675781 C 424.550781 79.074219 429.949219 79.074219 429.949219 82.675781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 445.242188 77.738281 C 445.242188 81.335938 439.839844 81.335938 439.839844 77.738281 C 439.839844 74.136719 445.242188 74.136719 445.242188 77.738281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.039063 430.558594 L 458.398438 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.039063 430.558594 L 67.039063 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.945313 430.558594 L 122.945313 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.855469 430.558594 L 178.855469 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.765625 430.558594 L 234.765625 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.671875 430.558594 L 290.671875 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.582031 430.558594 L 346.582031 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.492188 430.558594 L 402.492188 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 430.558594 L 458.398438 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="55.359375" y="456.480469"/> + <use xlink:href="#glyph0-2" x="62.033203" y="456.480469"/> + <use xlink:href="#glyph0-1" x="65.367188" y="456.480469"/> + <use xlink:href="#glyph0-1" x="72.041016" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="111.265625" y="456.480469"/> + <use xlink:href="#glyph0-2" x="117.939453" y="456.480469"/> + <use xlink:href="#glyph0-1" x="121.273438" y="456.480469"/> + <use xlink:href="#glyph0-3" x="127.947266" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="167.175781" y="456.480469"/> + <use xlink:href="#glyph0-2" x="173.849609" y="456.480469"/> + <use xlink:href="#glyph0-4" x="177.183594" y="456.480469"/> + <use xlink:href="#glyph0-1" x="183.857422" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="223.085938" y="456.480469"/> + <use xlink:href="#glyph0-2" x="229.759766" y="456.480469"/> + <use xlink:href="#glyph0-4" x="233.09375" y="456.480469"/> + <use xlink:href="#glyph0-3" x="239.767578" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="278.992188" y="456.480469"/> + <use xlink:href="#glyph0-2" x="285.666016" y="456.480469"/> + <use xlink:href="#glyph0-5" x="289" y="456.480469"/> + <use xlink:href="#glyph0-1" x="295.673828" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="334.902344" y="456.480469"/> + <use xlink:href="#glyph0-2" x="341.576172" y="456.480469"/> + <use xlink:href="#glyph0-5" x="344.910156" y="456.480469"/> + <use xlink:href="#glyph0-3" x="351.583984" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="390.8125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="397.486328" y="456.480469"/> + <use xlink:href="#glyph0-6" x="400.820313" y="456.480469"/> + <use xlink:href="#glyph0-1" x="407.494141" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="446.71875" y="456.480469"/> + <use xlink:href="#glyph0-2" x="453.392578" y="456.480469"/> + <use xlink:href="#glyph0-6" x="456.726563" y="456.480469"/> + <use xlink:href="#glyph0-3" x="463.400391" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 389.640625 L 59.039063 113.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 389.640625 L 51.839844 389.640625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 334.503906 L 51.839844 334.503906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 279.363281 L 51.839844 279.363281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 224.226563 L 51.839844 224.226563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 169.085938 L 51.839844 169.085938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 113.949219 L 51.839844 113.949219 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="397.980469"/> + <use xlink:href="#glyph1-2" x="41.761719" y="391.306641"/> + <use xlink:href="#glyph1-3" x="41.761719" y="387.972656"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="342.84375"/> + <use xlink:href="#glyph1-2" x="41.761719" y="336.169922"/> + <use xlink:href="#glyph1-4" x="41.761719" y="332.835938"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="287.703125"/> + <use xlink:href="#glyph1-2" x="41.761719" y="281.029297"/> + <use xlink:href="#glyph1-5" x="41.761719" y="277.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="232.566406"/> + <use xlink:href="#glyph1-2" x="41.761719" y="225.892578"/> + <use xlink:href="#glyph1-6" x="41.761719" y="222.558594"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="177.425781"/> + <use xlink:href="#glyph1-2" x="41.761719" y="170.751953"/> + <use xlink:href="#glyph1-1" x="41.761719" y="167.417969"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="122.289063"/> + <use xlink:href="#glyph1-2" x="41.761719" y="115.615234"/> + <use xlink:href="#glyph1-3" x="41.761719" y="112.28125"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="190.175781" y="34.675781"/> + <use xlink:href="#glyph2-2" x="198.971875" y="34.675781"/> + <use xlink:href="#glyph2-3" x="206.980469" y="34.675781"/> + <use xlink:href="#glyph2-4" x="211.775781" y="34.675781"/> + <use xlink:href="#glyph2-5" x="220.571875" y="34.675781"/> + <use xlink:href="#glyph2-6" x="229.367969" y="34.675781"/> + <use xlink:href="#glyph2-7" x="233.36875" y="34.675781"/> + <use xlink:href="#glyph2-2" x="242.164844" y="34.675781"/> + <use xlink:href="#glyph2-8" x="250.173438" y="34.675781"/> + <use xlink:href="#glyph2-8" x="254.96875" y="34.675781"/> + <use xlink:href="#glyph2-9" x="259.764063" y="34.675781"/> + <use xlink:href="#glyph2-10" x="263.764844" y="34.675781"/> + <use xlink:href="#glyph2-11" x="271.773438" y="34.675781"/> + <use xlink:href="#glyph2-6" x="279.782031" y="34.675781"/> + <use xlink:href="#glyph2-12" x="283.782812" y="34.675781"/> + <use xlink:href="#glyph2-6" x="293.3875" y="34.675781"/> + <use xlink:href="#glyph2-13" x="297.388281" y="34.675781"/> + <use xlink:href="#glyph2-6" x="305.797656" y="34.675781"/> + <use xlink:href="#glyph2-14" x="309.798437" y="34.675781"/> + <use xlink:href="#glyph2-15" x="317.807031" y="34.675781"/> + <use xlink:href="#glyph2-6" x="325.815625" y="34.675781"/> + <use xlink:href="#glyph2-16" x="329.816406" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/> + <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 406.925781 C 77.101563 410.523438 71.699219 410.523438 71.699219 406.925781 C 71.699219 403.324219 77.101563 403.324219 77.101563 406.925781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 87.859375 390.464844 C 87.859375 394.066406 82.460938 394.066406 82.460938 390.464844 C 82.460938 386.863281 87.859375 386.863281 87.859375 390.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.1875 375.652344 C 99.1875 379.25 93.789063 379.25 93.789063 375.652344 C 93.789063 372.050781 99.1875 372.050781 99.1875 375.652344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 108.816406 362.484375 C 108.816406 366.085938 103.417969 366.085938 103.417969 362.484375 C 103.417969 358.882813 108.816406 358.882813 108.816406 362.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.011719 349.316406 C 119.011719 352.917969 113.613281 352.917969 113.613281 349.316406 C 113.613281 345.714844 119.011719 345.714844 119.011719 349.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.402344 324.628906 C 139.402344 328.226563 134 328.226563 134 324.628906 C 134 321.027344 139.402344 321.027344 139.402344 324.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 148.460938 314.753906 C 148.460938 318.351563 143.0625 318.351563 143.0625 314.753906 C 143.0625 311.152344 148.460938 311.152344 148.460938 314.753906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 163.1875 295 C 163.1875 298.601563 157.789063 298.601563 157.789063 295 C 157.789063 291.402344 163.1875 291.402344 163.1875 295 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 177.914063 280.1875 C 177.914063 283.789063 172.515625 283.789063 172.515625 280.1875 C 172.515625 276.585938 177.914063 276.585938 177.914063 280.1875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.808594 265.375 C 189.808594 268.972656 184.40625 268.972656 184.40625 265.375 C 184.40625 261.773438 189.808594 261.773438 189.808594 265.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.800781 248.914063 C 206.800781 252.515625 201.398438 252.515625 201.398438 248.914063 C 201.398438 245.316406 206.800781 245.316406 206.800781 248.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.65625 232.457031 C 222.65625 236.054688 217.257813 236.054688 217.257813 232.457031 C 217.257813 228.855469 222.65625 228.855469 222.65625 232.457031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.550781 220.933594 C 234.550781 224.535156 229.152344 224.535156 229.152344 220.933594 C 229.152344 217.332031 234.550781 217.332031 234.550781 220.933594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 249.277344 206.121094 C 249.277344 209.71875 243.878906 209.71875 243.878906 206.121094 C 243.878906 202.519531 249.277344 202.519531 249.277344 206.121094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 264.570313 192.953125 C 264.570313 196.554688 259.167969 196.554688 259.167969 192.953125 C 259.167969 189.351563 264.570313 189.351563 264.570313 192.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 282.691406 178.960938 C 282.691406 182.5625 277.292969 182.5625 277.292969 178.960938 C 277.292969 175.363281 282.691406 175.363281 282.691406 178.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.683594 163.328125 C 299.683594 166.925781 294.285156 166.925781 294.285156 163.328125 C 294.285156 159.726563 299.683594 159.726563 299.683594 163.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.375 150.160156 C 318.375 153.757813 312.972656 153.757813 312.972656 150.160156 C 312.972656 146.558594 318.375 146.558594 318.375 150.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.800781 138.636719 C 334.800781 142.238281 329.398438 142.238281 329.398438 138.636719 C 329.398438 135.039063 334.800781 135.039063 334.800781 138.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 348.390625 129.585938 C 348.390625 133.183594 342.992188 133.183594 342.992188 129.585938 C 342.992188 125.984375 348.390625 125.984375 348.390625 129.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.515625 117.238281 C 366.515625 120.839844 361.117188 120.839844 361.117188 117.238281 C 361.117188 113.640625 366.515625 113.640625 366.515625 117.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.941406 105.71875 C 382.941406 109.320313 377.539063 109.320313 377.539063 105.71875 C 377.539063 102.117188 382.941406 102.117188 382.941406 105.71875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 408.992188 94.195313 C 408.992188 97.796875 403.59375 97.796875 403.59375 94.195313 C 403.59375 90.597656 408.992188 90.597656 408.992188 94.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 429.949219 82.675781 C 429.949219 86.277344 424.550781 86.277344 424.550781 82.675781 C 424.550781 79.074219 429.949219 79.074219 429.949219 82.675781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 445.242188 77.738281 C 445.242188 81.335938 439.839844 81.335938 439.839844 77.738281 C 439.839844 74.136719 445.242188 74.136719 445.242188 77.738281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 405.65625 L 78.238281 400.351563 L 82.078125 395.089844 L 85.921875 389.867188 L 89.761719 384.683594 L 93.601563 379.539063 L 97.441406 374.4375 L 101.28125 369.371094 L 105.121094 364.347656 L 108.960938 359.363281 L 112.800781 354.417969 L 116.640625 349.511719 L 120.480469 344.644531 L 124.320313 339.820313 L 128.160156 335.03125 L 132 330.285156 L 135.839844 325.578125 L 139.679688 320.910156 L 143.519531 316.28125 L 147.359375 311.695313 L 151.199219 307.144531 L 155.039063 302.636719 L 158.878906 298.167969 L 162.71875 293.738281 L 166.558594 289.347656 L 170.398438 285 L 174.238281 280.6875 L 178.078125 276.417969 L 181.921875 272.1875 L 185.761719 267.996094 L 189.601563 263.84375 L 193.441406 259.730469 L 197.28125 255.660156 L 201.121094 251.625 L 204.960938 247.632813 L 208.800781 243.679688 L 212.640625 239.765625 L 216.480469 235.890625 L 220.320313 232.058594 L 224.160156 228.261719 L 228 224.507813 L 231.839844 220.792969 L 235.679688 217.117188 L 239.519531 213.480469 L 243.359375 209.882813 L 247.199219 206.328125 L 251.039063 202.808594 L 254.878906 199.332031 L 258.71875 195.894531 L 262.558594 192.496094 L 266.398438 189.136719 L 270.238281 185.820313 L 274.078125 182.539063 L 277.921875 179.300781 L 281.761719 176.101563 L 285.601563 172.941406 L 289.441406 169.820313 L 293.28125 166.738281 L 297.121094 163.699219 L 300.960938 160.695313 L 304.800781 157.734375 L 308.640625 154.8125 L 312.480469 151.929688 L 316.320313 149.089844 L 320.160156 146.285156 L 324 143.523438 L 327.839844 140.796875 L 331.679688 138.113281 L 335.519531 135.46875 L 339.359375 132.863281 L 343.199219 130.300781 L 347.039063 127.773438 L 350.878906 125.289063 L 354.71875 122.84375 L 358.558594 120.4375 L 362.398438 118.070313 L 366.238281 115.742188 L 370.078125 113.457031 L 373.921875 111.207031 L 377.761719 109 L 381.601563 106.832031 L 385.441406 104.703125 L 389.28125 102.613281 L 393.121094 100.566406 L 396.960938 98.554688 L 400.800781 96.585938 L 404.640625 94.65625 L 408.480469 92.765625 L 412.320313 90.914063 L 416.160156 89.101563 L 420 87.332031 L 423.839844 85.597656 L 427.679688 83.90625 L 431.519531 82.253906 L 435.359375 80.640625 L 439.199219 79.066406 L 443.039063 77.535156 L 446.878906 76.039063 L 450.71875 74.585938 L 454.558594 73.171875 L 458.398438 71.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 71.148438 416.800781 L 78.785156 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.964844 420.617188 L 74.964844 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 83.042969 398.695313 L 90.679688 398.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 86.859375 402.511719 L 86.859375 394.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.238281 382.234375 L 100.875 382.234375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.054688 386.054688 L 97.054688 378.417969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.296875 367.421875 L 109.933594 367.421875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.117188 371.242188 L 106.117188 363.605469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 111.925781 354.253906 L 119.5625 354.253906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 115.746094 358.074219 L 115.746094 350.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.6875 337.796875 L 130.324219 337.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 126.507813 341.613281 L 126.507813 333.976563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 136.28125 319.691406 L 143.917969 319.691406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 140.097656 323.507813 L 140.097656 315.871094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152.140625 299.9375 L 159.777344 299.9375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 155.957031 303.757813 L 155.957031 296.121094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.332031 285.125 L 169.96875 285.125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.152344 288.945313 L 166.152344 281.308594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.191406 265.375 L 185.828125 265.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 182.011719 269.191406 L 182.011719 261.554688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 190.085938 250.5625 L 197.722656 250.5625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.90625 254.378906 L 193.90625 246.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 201.980469 237.394531 L 209.617188 237.394531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 205.796875 241.210938 L 205.796875 233.574219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.9375 215.996094 L 230.574219 215.996094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.753906 219.816406 L 226.753906 212.179688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 235.394531 202.828125 L 243.03125 202.828125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 239.214844 206.648438 L 239.214844 199.011719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.21875 183.078125 L 262.855469 183.078125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.039063 186.894531 L 259.039063 179.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 267.113281 173.203125 L 274.75 173.203125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270.929688 177.019531 L 270.929688 169.382813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.441406 163.328125 L 286.078125 163.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 282.257813 167.144531 L 282.257813 159.507813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 292.03125 155.097656 L 299.667969 155.097656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.851563 158.914063 L 295.851563 151.277344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 305.625 143.574219 L 313.261719 143.574219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 309.445313 147.394531 L 309.445313 139.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 316.953125 136.992188 L 324.589844 136.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.773438 140.808594 L 320.773438 133.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.113281 128.761719 L 338.75 128.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.929688 132.582031 L 334.929688 124.941406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 347.539063 118.886719 L 355.175781 118.886719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 351.355469 122.703125 L 351.355469 115.066406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 358.296875 113.949219 L 365.933594 113.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.117188 117.765625 L 362.117188 110.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.359375 109.011719 L 374.996094 109.011719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 371.179688 112.828125 L 371.179688 105.191406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.917969 104.074219 L 392.554688 104.074219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.734375 107.890625 L 388.734375 100.253906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.945313 99.136719 L 405.582031 99.136719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401.761719 102.953125 L 401.761719 95.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 419.464844 94.195313 L 427.101563 94.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.285156 98.015625 L 423.285156 90.378906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.6875 89.257813 L 450.324219 89.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.507813 93.078125 L 446.507813 85.441406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 88.4375 L 462.21875 88.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 92.253906 L 458.398438 84.617188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.964844 417.761719 L 78.800781 411.472656 L 82.636719 405.246094 L 86.46875 399.078125 L 90.304688 392.972656 L 94.136719 386.925781 L 97.972656 380.9375 L 101.808594 375.011719 L 105.640625 369.148438 L 109.476563 363.34375 L 113.308594 357.601563 L 117.144531 351.917969 L 120.976563 346.292969 L 124.8125 340.730469 L 128.648438 335.226563 L 132.480469 329.785156 L 136.316406 324.40625 L 140.148438 319.085938 L 143.984375 313.824219 L 147.820313 308.625 L 151.652344 303.484375 L 155.488281 298.40625 L 159.320313 293.390625 L 163.15625 288.429688 L 166.992188 283.535156 L 170.824219 278.695313 L 174.660156 273.921875 L 178.492188 269.203125 L 182.328125 264.550781 L 186.164063 259.953125 L 189.996094 255.421875 L 193.832031 250.945313 L 197.664063 246.535156 L 201.5 242.179688 L 205.332031 237.886719 L 209.167969 233.65625 L 213.003906 229.484375 L 216.835938 225.375 L 220.671875 221.324219 L 224.503906 217.332031 L 228.339844 213.402344 L 232.175781 209.535156 L 236.007813 205.726563 L 239.84375 201.980469 L 243.675781 198.292969 L 247.511719 194.664063 L 251.347656 191.097656 L 255.179688 187.59375 L 259.015625 184.144531 L 262.847656 180.761719 L 266.683594 177.4375 L 270.515625 174.171875 L 274.351563 170.96875 L 278.1875 167.828125 L 282.019531 164.742188 L 285.855469 161.722656 L 289.6875 158.761719 L 293.523438 155.859375 L 297.359375 153.019531 L 301.191406 150.238281 L 305.027344 147.519531 L 308.859375 144.859375 L 312.695313 142.261719 L 316.53125 139.722656 L 320.363281 137.246094 L 324.199219 134.828125 L 328.03125 132.472656 L 331.867188 130.175781 L 335.703125 127.9375 L 339.535156 125.765625 L 343.371094 123.648438 L 347.203125 121.59375 L 351.039063 119.601563 L 354.871094 117.667969 L 358.707031 115.796875 L 362.542969 113.984375 L 366.375 112.230469 L 370.210938 110.539063 L 374.042969 108.910156 L 377.878906 107.339844 L 381.714844 105.828125 L 385.546875 104.378906 L 389.382813 102.992188 L 393.214844 101.664063 L 397.050781 100.394531 L 400.886719 99.1875 L 404.71875 98.039063 L 408.554688 96.953125 L 412.386719 95.925781 L 416.222656 94.960938 L 420.054688 94.058594 L 423.890625 93.210938 L 427.726563 92.429688 L 431.558594 91.707031 L 435.394531 91.042969 L 439.226563 90.441406 L 443.0625 89.898438 L 446.898438 89.417969 L 450.730469 88.996094 L 454.566406 88.632813 L 458.398438 88.335938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-16" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-4" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-1" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/> + <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/> + <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/> + <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/> + <use xlink:href="#glyph0-18" x="361" y="346.695313"/> + <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/> + <use xlink:href="#glyph0-3" x="371.341797" y="346.695313"/> + <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/> + <use xlink:href="#glyph0-19" x="381.349609" y="346.695313"/> + <use xlink:href="#glyph0-1" x="388.023438" y="346.695313"/> + <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/> + <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/> + <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/> + <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/> + <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/> + <use xlink:href="#glyph0-4" x="432.384766" y="346.695313"/> + <use xlink:href="#glyph0-1" x="439.058594" y="346.695313"/> + <use xlink:href="#glyph0-3" x="445.732422" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-20" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-6" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-6" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/> + <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/> + <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/> + <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/> + <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/> + <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/> + <use xlink:href="#glyph0-16" x="364.667969" y="375.496094"/> + <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/> + <use xlink:href="#glyph0-21" x="374.675781" y="375.496094"/> + <use xlink:href="#glyph0-5" x="381.349609" y="375.496094"/> + <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/> + <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/> + <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/> + <use xlink:href="#glyph0-18" x="405.361328" y="375.496094"/> + <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/> + <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/> + <use xlink:href="#glyph0-1" x="425.710938" y="375.496094"/> + <use xlink:href="#glyph0-3" x="432.384766" y="375.496094"/> + <use xlink:href="#glyph0-1" x="439.058594" y="375.496094"/> + <use xlink:href="#glyph0-4" x="445.732422" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg new file mode 100644 index 000000000..48a1d0ae6 --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg @@ -0,0 +1,511 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 1.0625 0 L 1.0625 -10.308594 L 8.128906 -10.308594 L 8.128906 -8.5625 L 3.144531 -8.5625 L 3.144531 -6.125 L 7.445313 -6.125 L 7.445313 -4.378906 L 3.144531 -4.378906 L 3.144531 0 Z M 1.0625 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 0.640625 -2.652344 L 2.609375 -2.855469 C 2.660156 -2.40625 2.828125 -2.054688 3.105469 -1.796875 C 3.382813 -1.535156 3.699219 -1.40625 4.0625 -1.40625 C 4.472656 -1.40625 4.824219 -1.570313 5.109375 -1.90625 C 5.394531 -2.238281 5.535156 -2.746094 5.539063 -3.425781 C 5.535156 -4.054688 5.394531 -4.527344 5.113281 -4.847656 C 4.828125 -5.160156 4.460938 -5.320313 4.007813 -5.324219 C 3.4375 -5.320313 2.925781 -5.070313 2.480469 -4.570313 L 0.878906 -4.800781 L 1.890625 -10.167969 L 7.117188 -10.167969 L 7.117188 -8.316406 L 3.390625 -8.316406 L 3.078125 -6.566406 C 3.515625 -6.785156 3.96875 -6.894531 4.429688 -6.898438 C 5.304688 -6.894531 6.046875 -6.578125 6.660156 -5.941406 C 7.265625 -5.300781 7.570313 -4.472656 7.574219 -3.460938 C 7.570313 -2.609375 7.324219 -1.851563 6.835938 -1.1875 C 6.160156 -0.277344 5.230469 0.175781 4.042969 0.175781 C 3.089844 0.175781 2.3125 -0.078125 1.714844 -0.589844 C 1.113281 -1.097656 0.753906 -1.785156 0.640625 -2.652344 Z M 0.640625 -2.652344 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface21"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.398438 404.699219 C 89.398438 408.300781 83.996094 408.300781 83.996094 404.699219 C 83.996094 401.097656 89.398438 401.097656 89.398438 404.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.695313 390.871094 C 101.695313 394.46875 96.292969 394.46875 96.292969 390.871094 C 96.292969 387.269531 101.695313 387.269531 101.695313 390.871094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 117.34375 374.449219 C 117.34375 378.046875 111.945313 378.046875 111.945313 374.449219 C 111.945313 370.847656 117.34375 370.847656 117.34375 374.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.082031 361.484375 C 129.082031 365.082031 123.683594 365.082031 123.683594 361.484375 C 123.683594 357.882813 129.082031 357.882813 129.082031 361.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.617188 345.925781 C 143.617188 349.527344 138.214844 349.527344 138.214844 345.925781 C 138.214844 342.324219 143.617188 342.324219 143.617188 345.925781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 158.148438 333.824219 C 158.148438 337.425781 152.746094 337.425781 152.746094 333.824219 C 152.746094 330.226563 158.148438 330.226563 158.148438 333.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 173.796875 316.539063 C 173.796875 320.140625 168.398438 320.140625 168.398438 316.539063 C 168.398438 312.9375 173.796875 312.9375 173.796875 316.539063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 188.890625 304.4375 C 188.890625 308.039063 183.492188 308.039063 183.492188 304.4375 C 183.492188 300.839844 188.890625 300.839844 188.890625 304.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.863281 288.878906 C 202.863281 292.480469 197.464844 292.480469 197.464844 288.878906 C 197.464844 285.28125 202.863281 285.28125 202.863281 288.878906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.515625 275.050781 C 218.515625 278.652344 213.113281 278.652344 213.113281 275.050781 C 213.113281 271.453125 218.515625 271.453125 218.515625 275.050781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.929688 262.949219 C 231.929688 266.550781 226.53125 266.550781 226.53125 262.949219 C 226.53125 259.351563 231.929688 259.351563 231.929688 262.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 241.992188 252.578125 C 241.992188 256.179688 236.589844 256.179688 236.589844 252.578125 C 236.589844 248.980469 241.992188 248.980469 241.992188 252.578125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.050781 243.9375 C 252.050781 247.535156 246.652344 247.535156 246.652344 243.9375 C 246.652344 240.335938 252.050781 240.335938 252.050781 243.9375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 263.789063 235.292969 C 263.789063 238.890625 258.390625 238.890625 258.390625 235.292969 C 258.390625 231.691406 263.789063 231.691406 263.789063 235.292969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.765625 222.328125 C 277.765625 225.925781 272.363281 225.925781 272.363281 222.328125 C 272.363281 218.726563 277.765625 218.726563 277.765625 222.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.089844 206.769531 C 295.089844 210.371094 289.691406 210.371094 289.691406 206.769531 C 289.691406 203.167969 295.089844 203.167969 295.089844 206.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.945313 197.261719 C 307.945313 200.863281 302.546875 200.863281 302.546875 197.261719 C 302.546875 193.664063 307.945313 193.664063 307.945313 197.261719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.242188 186.890625 C 320.242188 190.492188 314.84375 190.492188 314.84375 186.890625 C 314.84375 183.289063 320.242188 183.289063 320.242188 186.890625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.421875 176.519531 C 331.421875 180.117188 326.023438 180.117188 326.023438 176.519531 C 326.023438 172.917969 331.421875 172.917969 331.421875 176.519531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.484375 167.875 C 341.484375 171.476563 336.085938 171.476563 336.085938 167.875 C 336.085938 164.273438 341.484375 164.273438 341.484375 167.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.105469 160.960938 C 352.105469 164.5625 346.703125 164.5625 346.703125 160.960938 C 346.703125 157.359375 352.105469 157.359375 352.105469 160.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 364.402344 152.316406 C 364.402344 155.917969 359 155.917969 359 152.316406 C 359 148.71875 364.402344 148.71875 364.402344 152.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 380.050781 139.351563 C 380.050781 142.953125 374.652344 142.953125 374.652344 139.351563 C 374.652344 135.753906 380.050781 135.753906 380.050781 139.351563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.378906 126.386719 C 397.378906 129.988281 391.980469 129.988281 391.980469 126.386719 C 391.980469 122.789063 397.378906 122.789063 397.378906 126.386719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 417.5 112.558594 C 417.5 116.160156 412.101563 116.160156 412.101563 112.558594 C 412.101563 108.957031 417.5 108.957031 417.5 112.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 433.710938 100.457031 C 433.710938 104.058594 428.3125 104.058594 428.3125 100.457031 C 428.3125 96.859375 433.710938 96.859375 433.710938 100.457031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.890625 95.273438 C 444.890625 98.871094 439.492188 98.871094 439.492188 95.273438 C 439.492188 91.671875 444.890625 91.671875 444.890625 95.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 83.171875 C 461.101563 86.773438 455.699219 86.773438 455.699219 83.171875 C 455.699219 79.570313 461.101563 79.570313 461.101563 83.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.132813 430.558594 L 457.839844 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.132813 430.558594 L 67.132813 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.949219 430.558594 L 122.949219 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.765625 430.558594 L 178.765625 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.578125 430.558594 L 234.578125 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.394531 430.558594 L 290.394531 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.210938 430.558594 L 346.210938 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.027344 430.558594 L 402.027344 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 457.839844 430.558594 L 457.839844 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="55.453125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="62.126953" y="456.480469"/> + <use xlink:href="#glyph0-1" x="65.460938" y="456.480469"/> + <use xlink:href="#glyph0-1" x="72.134766" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="111.269531" y="456.480469"/> + <use xlink:href="#glyph0-2" x="117.943359" y="456.480469"/> + <use xlink:href="#glyph0-1" x="121.277344" y="456.480469"/> + <use xlink:href="#glyph0-3" x="127.951172" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="167.085938" y="456.480469"/> + <use xlink:href="#glyph0-2" x="173.759766" y="456.480469"/> + <use xlink:href="#glyph0-4" x="177.09375" y="456.480469"/> + <use xlink:href="#glyph0-1" x="183.767578" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="222.898438" y="456.480469"/> + <use xlink:href="#glyph0-2" x="229.572266" y="456.480469"/> + <use xlink:href="#glyph0-4" x="232.90625" y="456.480469"/> + <use xlink:href="#glyph0-3" x="239.580078" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="278.714844" y="456.480469"/> + <use xlink:href="#glyph0-2" x="285.388672" y="456.480469"/> + <use xlink:href="#glyph0-5" x="288.722656" y="456.480469"/> + <use xlink:href="#glyph0-1" x="295.396484" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="334.53125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="341.205078" y="456.480469"/> + <use xlink:href="#glyph0-5" x="344.539063" y="456.480469"/> + <use xlink:href="#glyph0-3" x="351.212891" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="390.347656" y="456.480469"/> + <use xlink:href="#glyph0-2" x="397.021484" y="456.480469"/> + <use xlink:href="#glyph0-6" x="400.355469" y="456.480469"/> + <use xlink:href="#glyph0-1" x="407.029297" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="446.160156" y="456.480469"/> + <use xlink:href="#glyph0-2" x="452.833984" y="456.480469"/> + <use xlink:href="#glyph0-6" x="456.167969" y="456.480469"/> + <use xlink:href="#glyph0-3" x="462.841797" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 379.015625 L 59.039063 86.382813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 379.015625 L 51.839844 379.015625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 320.488281 L 51.839844 320.488281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 261.964844 L 51.839844 261.964844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 203.4375 L 51.839844 203.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 144.910156 L 51.839844 144.910156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 86.382813 L 51.839844 86.382813 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="387.355469"/> + <use xlink:href="#glyph1-2" x="41.761719" y="380.681641"/> + <use xlink:href="#glyph1-3" x="41.761719" y="377.347656"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="328.828125"/> + <use xlink:href="#glyph1-2" x="41.761719" y="322.154297"/> + <use xlink:href="#glyph1-4" x="41.761719" y="318.820313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="270.304688"/> + <use xlink:href="#glyph1-2" x="41.761719" y="263.630859"/> + <use xlink:href="#glyph1-5" x="41.761719" y="260.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="211.777344"/> + <use xlink:href="#glyph1-2" x="41.761719" y="205.103516"/> + <use xlink:href="#glyph1-6" x="41.761719" y="201.769531"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="153.25"/> + <use xlink:href="#glyph1-2" x="41.761719" y="146.576172"/> + <use xlink:href="#glyph1-1" x="41.761719" y="143.242188"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="94.722656"/> + <use xlink:href="#glyph1-2" x="41.761719" y="88.048828"/> + <use xlink:href="#glyph1-3" x="41.761719" y="84.714844"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="190.175781" y="34.675781"/> + <use xlink:href="#glyph2-2" x="198.971875" y="34.675781"/> + <use xlink:href="#glyph2-3" x="206.980469" y="34.675781"/> + <use xlink:href="#glyph2-4" x="211.775781" y="34.675781"/> + <use xlink:href="#glyph2-5" x="220.571875" y="34.675781"/> + <use xlink:href="#glyph2-6" x="229.367969" y="34.675781"/> + <use xlink:href="#glyph2-7" x="233.36875" y="34.675781"/> + <use xlink:href="#glyph2-2" x="242.164844" y="34.675781"/> + <use xlink:href="#glyph2-8" x="250.173438" y="34.675781"/> + <use xlink:href="#glyph2-8" x="254.96875" y="34.675781"/> + <use xlink:href="#glyph2-9" x="259.764063" y="34.675781"/> + <use xlink:href="#glyph2-10" x="263.764844" y="34.675781"/> + <use xlink:href="#glyph2-11" x="271.773438" y="34.675781"/> + <use xlink:href="#glyph2-6" x="279.782031" y="34.675781"/> + <use xlink:href="#glyph2-12" x="283.782812" y="34.675781"/> + <use xlink:href="#glyph2-6" x="293.3875" y="34.675781"/> + <use xlink:href="#glyph2-13" x="297.388281" y="34.675781"/> + <use xlink:href="#glyph2-6" x="305.797656" y="34.675781"/> + <use xlink:href="#glyph2-14" x="309.798437" y="34.675781"/> + <use xlink:href="#glyph2-15" x="317.807031" y="34.675781"/> + <use xlink:href="#glyph2-6" x="325.815625" y="34.675781"/> + <use xlink:href="#glyph2-16" x="329.816406" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/> + <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.398438 404.699219 C 89.398438 408.300781 83.996094 408.300781 83.996094 404.699219 C 83.996094 401.097656 89.398438 401.097656 89.398438 404.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.695313 390.871094 C 101.695313 394.46875 96.292969 394.46875 96.292969 390.871094 C 96.292969 387.269531 101.695313 387.269531 101.695313 390.871094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 117.34375 374.449219 C 117.34375 378.046875 111.945313 378.046875 111.945313 374.449219 C 111.945313 370.847656 117.34375 370.847656 117.34375 374.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.082031 361.484375 C 129.082031 365.082031 123.683594 365.082031 123.683594 361.484375 C 123.683594 357.882813 129.082031 357.882813 129.082031 361.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.617188 345.925781 C 143.617188 349.527344 138.214844 349.527344 138.214844 345.925781 C 138.214844 342.324219 143.617188 342.324219 143.617188 345.925781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 158.148438 333.824219 C 158.148438 337.425781 152.746094 337.425781 152.746094 333.824219 C 152.746094 330.226563 158.148438 330.226563 158.148438 333.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 173.796875 316.539063 C 173.796875 320.140625 168.398438 320.140625 168.398438 316.539063 C 168.398438 312.9375 173.796875 312.9375 173.796875 316.539063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 188.890625 304.4375 C 188.890625 308.039063 183.492188 308.039063 183.492188 304.4375 C 183.492188 300.839844 188.890625 300.839844 188.890625 304.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.863281 288.878906 C 202.863281 292.480469 197.464844 292.480469 197.464844 288.878906 C 197.464844 285.28125 202.863281 285.28125 202.863281 288.878906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.515625 275.050781 C 218.515625 278.652344 213.113281 278.652344 213.113281 275.050781 C 213.113281 271.453125 218.515625 271.453125 218.515625 275.050781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.929688 262.949219 C 231.929688 266.550781 226.53125 266.550781 226.53125 262.949219 C 226.53125 259.351563 231.929688 259.351563 231.929688 262.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 241.992188 252.578125 C 241.992188 256.179688 236.589844 256.179688 236.589844 252.578125 C 236.589844 248.980469 241.992188 248.980469 241.992188 252.578125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.050781 243.9375 C 252.050781 247.535156 246.652344 247.535156 246.652344 243.9375 C 246.652344 240.335938 252.050781 240.335938 252.050781 243.9375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 263.789063 235.292969 C 263.789063 238.890625 258.390625 238.890625 258.390625 235.292969 C 258.390625 231.691406 263.789063 231.691406 263.789063 235.292969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.765625 222.328125 C 277.765625 225.925781 272.363281 225.925781 272.363281 222.328125 C 272.363281 218.726563 277.765625 218.726563 277.765625 222.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.089844 206.769531 C 295.089844 210.371094 289.691406 210.371094 289.691406 206.769531 C 289.691406 203.167969 295.089844 203.167969 295.089844 206.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.945313 197.261719 C 307.945313 200.863281 302.546875 200.863281 302.546875 197.261719 C 302.546875 193.664063 307.945313 193.664063 307.945313 197.261719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.242188 186.890625 C 320.242188 190.492188 314.84375 190.492188 314.84375 186.890625 C 314.84375 183.289063 320.242188 183.289063 320.242188 186.890625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.421875 176.519531 C 331.421875 180.117188 326.023438 180.117188 326.023438 176.519531 C 326.023438 172.917969 331.421875 172.917969 331.421875 176.519531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.484375 167.875 C 341.484375 171.476563 336.085938 171.476563 336.085938 167.875 C 336.085938 164.273438 341.484375 164.273438 341.484375 167.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.105469 160.960938 C 352.105469 164.5625 346.703125 164.5625 346.703125 160.960938 C 346.703125 157.359375 352.105469 157.359375 352.105469 160.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 364.402344 152.316406 C 364.402344 155.917969 359 155.917969 359 152.316406 C 359 148.71875 364.402344 148.71875 364.402344 152.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 380.050781 139.351563 C 380.050781 142.953125 374.652344 142.953125 374.652344 139.351563 C 374.652344 135.753906 380.050781 135.753906 380.050781 139.351563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.378906 126.386719 C 397.378906 129.988281 391.980469 129.988281 391.980469 126.386719 C 391.980469 122.789063 397.378906 122.789063 397.378906 126.386719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 417.5 112.558594 C 417.5 116.160156 412.101563 116.160156 412.101563 112.558594 C 412.101563 108.957031 417.5 108.957031 417.5 112.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 433.710938 100.457031 C 433.710938 104.058594 428.3125 104.058594 428.3125 100.457031 C 428.3125 96.859375 433.710938 96.859375 433.710938 100.457031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.890625 95.273438 C 444.890625 98.871094 439.492188 98.871094 439.492188 95.273438 C 439.492188 91.671875 444.890625 91.671875 444.890625 95.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 83.171875 C 461.101563 86.773438 455.699219 86.773438 455.699219 83.171875 C 455.699219 79.570313 461.101563 79.570313 461.101563 83.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 417.148438 L 78.238281 412.988281 L 82.078125 408.84375 L 85.921875 404.710938 L 89.761719 400.601563 L 93.601563 396.503906 L 97.441406 392.425781 L 101.28125 388.363281 L 105.121094 384.316406 L 108.960938 380.285156 L 112.800781 376.273438 L 116.640625 372.277344 L 120.480469 368.296875 L 124.320313 364.335938 L 128.160156 360.386719 L 132 356.457031 L 135.839844 352.542969 L 139.679688 348.648438 L 143.519531 344.765625 L 147.359375 340.902344 L 151.199219 337.054688 L 155.039063 333.226563 L 158.878906 329.414063 L 162.71875 325.613281 L 166.558594 321.835938 L 170.398438 318.070313 L 174.238281 314.324219 L 178.078125 310.59375 L 181.921875 306.878906 L 185.761719 303.179688 L 189.601563 299.5 L 193.441406 295.835938 L 197.28125 292.1875 L 201.121094 288.554688 L 204.960938 284.941406 L 208.800781 281.34375 L 212.640625 277.761719 L 216.480469 274.195313 L 220.320313 270.648438 L 224.160156 267.117188 L 228 263.601563 L 231.839844 260.101563 L 235.679688 256.621094 L 239.519531 253.15625 L 243.359375 249.707031 L 247.199219 246.273438 L 251.039063 242.859375 L 254.878906 239.460938 L 258.71875 236.078125 L 262.558594 232.710938 L 266.398438 229.363281 L 270.238281 226.027344 L 274.078125 222.710938 L 277.921875 219.414063 L 281.761719 216.128906 L 285.601563 212.863281 L 289.441406 209.613281 L 293.28125 206.382813 L 297.121094 203.164063 L 300.960938 199.964844 L 304.800781 196.78125 L 308.640625 193.613281 L 312.480469 190.464844 L 316.320313 187.332031 L 320.160156 184.214844 L 324 181.113281 L 327.839844 178.03125 L 331.679688 174.964844 L 335.519531 171.914063 L 339.359375 168.878906 L 343.199219 165.863281 L 347.039063 162.859375 L 350.878906 159.875 L 354.71875 156.910156 L 358.558594 153.957031 L 362.398438 151.023438 L 366.238281 148.105469 L 370.078125 145.203125 L 373.921875 142.320313 L 377.761719 139.453125 L 381.601563 136.601563 L 385.441406 133.765625 L 389.28125 130.949219 L 393.121094 128.144531 L 396.960938 125.359375 L 400.800781 122.59375 L 404.640625 119.839844 L 408.480469 117.105469 L 412.320313 114.386719 L 416.160156 111.683594 L 420 109 L 423.839844 106.328125 L 427.679688 103.675781 L 431.519531 101.042969 L 435.359375 98.421875 L 439.199219 95.820313 L 443.039063 93.234375 L 446.878906 90.664063 L 450.71875 88.113281 L 454.558594 85.574219 L 458.398438 83.054688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 80.644531 402.972656 L 88.28125 402.972656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.460938 406.789063 L 84.460938 399.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.617188 380.5 L 102.253906 380.5 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.433594 384.316406 L 98.433594 376.679688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.914063 363.210938 L 114.550781 363.210938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.730469 367.03125 L 110.730469 359.394531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.769531 344.195313 L 127.40625 344.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.585938 348.015625 L 123.585938 340.378906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 133.183594 326.910156 L 140.820313 326.910156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 137.003906 330.730469 L 137.003906 323.09375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 147.71875 304.4375 L 155.355469 304.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 151.535156 308.257813 L 151.535156 300.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.808594 287.152344 L 170.445313 287.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.628906 290.96875 L 166.628906 283.332031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.664063 271.59375 L 183.300781 271.59375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 179.484375 275.414063 L 179.484375 267.777344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 187.960938 256.035156 L 195.597656 256.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.78125 259.855469 L 191.78125 252.21875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 204.730469 238.75 L 212.367188 238.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.546875 242.566406 L 208.546875 234.929688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 225.96875 216.277344 L 233.605469 216.277344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 229.789063 220.097656 L 229.789063 212.460938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 241.0625 198.992188 L 248.699219 198.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.878906 202.808594 L 244.878906 195.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.710938 185.160156 L 264.347656 185.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.53125 188.980469 L 260.53125 181.34375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 272.363281 171.332031 L 280 171.332031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.183594 175.152344 L 276.183594 167.515625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.691406 155.773438 L 297.328125 155.773438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 293.507813 159.59375 L 293.507813 151.957031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.136719 143.675781 L 315.773438 143.675781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 311.953125 147.492188 L 311.953125 139.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 326.582031 129.84375 L 334.21875 129.84375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 330.398438 133.664063 L 330.398438 126.027344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 338.878906 121.203125 L 346.515625 121.203125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.695313 125.019531 L 342.695313 117.382813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.96875 110.832031 L 361.605469 110.832031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.789063 114.648438 L 357.789063 107.011719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.265625 103.914063 L 373.902344 103.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.085938 107.734375 L 370.085938 100.097656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.5625 98.730469 L 386.199219 98.730469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.382813 102.546875 L 382.382813 94.910156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 390.859375 91.816406 L 398.496094 91.816406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 394.679688 95.632813 L 394.679688 87.996094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 409.304688 84.902344 L 416.941406 84.902344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 413.125 88.71875 L 413.125 81.082031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.28125 81.441406 L 430.917969 81.441406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.097656 85.261719 L 427.097656 77.625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 435.019531 76.257813 L 442.65625 76.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 438.835938 80.074219 L 438.835938 72.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.023438 72.800781 L 461.660156 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 457.839844 76.617188 L 457.839844 68.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 417.757813 L 78.234375 411.726563 L 82.070313 405.75 L 85.902344 399.824219 L 89.738281 393.953125 L 93.570313 388.132813 L 97.40625 382.363281 L 101.242188 376.644531 L 105.074219 370.976563 L 108.910156 365.363281 L 112.742188 359.800781 L 116.578125 354.292969 L 120.414063 348.835938 L 124.246094 343.429688 L 128.082031 338.074219 L 131.917969 332.769531 L 135.75 327.519531 L 139.585938 322.320313 L 143.417969 317.175781 L 147.253906 312.078125 L 151.089844 307.035156 L 154.921875 302.046875 L 158.757813 297.105469 L 162.589844 292.21875 L 166.425781 287.382813 L 170.261719 282.601563 L 174.09375 277.867188 L 177.929688 273.1875 L 181.761719 268.5625 L 185.597656 263.984375 L 189.433594 259.460938 L 193.265625 254.988281 L 197.101563 250.566406 L 200.933594 246.199219 L 204.769531 241.882813 L 208.605469 237.617188 L 212.4375 233.40625 L 216.273438 229.246094 L 220.109375 225.136719 L 223.941406 221.078125 L 227.777344 217.074219 L 231.609375 213.121094 L 235.445313 209.21875 L 239.28125 205.367188 L 243.113281 201.570313 L 246.949219 197.824219 L 250.78125 194.132813 L 254.617188 190.488281 L 258.453125 186.898438 L 262.285156 183.359375 L 266.121094 179.875 L 269.953125 176.441406 L 273.789063 173.058594 L 277.625 169.726563 L 281.457031 166.449219 L 285.292969 163.222656 L 289.128906 160.046875 L 292.960938 156.921875 L 296.796875 153.851563 L 300.628906 150.832031 L 304.464844 147.863281 L 308.300781 144.949219 L 312.132813 142.085938 L 315.96875 139.273438 L 319.800781 136.515625 L 323.636719 133.804688 L 327.472656 131.148438 L 331.304688 128.546875 L 335.140625 125.992188 L 338.972656 123.492188 L 342.808594 121.042969 L 346.644531 118.648438 L 350.476563 116.304688 L 354.3125 114.011719 L 358.144531 111.769531 L 361.980469 109.582031 L 365.816406 107.441406 L 369.648438 105.359375 L 373.484375 103.324219 L 377.320313 101.34375 L 381.152344 99.414063 L 384.988281 97.535156 L 388.820313 95.710938 L 392.65625 93.933594 L 396.492188 92.214844 L 400.324219 90.542969 L 404.160156 88.925781 L 407.992188 87.359375 L 411.828125 85.84375 L 415.664063 84.382813 L 419.496094 82.972656 L 423.332031 81.613281 L 427.164063 80.304688 L 431 79.050781 L 434.835938 77.847656 L 438.667969 76.695313 L 442.503906 75.597656 L 446.335938 74.546875 L 450.171875 73.554688 L 454.007813 72.609375 L 457.839844 71.71875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-5" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-16" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-1" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/> + <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/> + <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/> + <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/> + <use xlink:href="#glyph0-18" x="361" y="346.695313"/> + <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/> + <use xlink:href="#glyph0-16" x="371.341797" y="346.695313"/> + <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/> + <use xlink:href="#glyph0-4" x="381.349609" y="346.695313"/> + <use xlink:href="#glyph0-19" x="388.023438" y="346.695313"/> + <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/> + <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/> + <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/> + <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/> + <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/> + <use xlink:href="#glyph0-1" x="432.384766" y="346.695313"/> + <use xlink:href="#glyph0-16" x="439.058594" y="346.695313"/> + <use xlink:href="#glyph0-5" x="445.732422" y="346.695313"/> + <use xlink:href="#glyph0-20" x="452.40625" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-19" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-3" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-4" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/> + <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/> + <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/> + <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/> + <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/> + <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/> + <use xlink:href="#glyph0-20" x="364.667969" y="375.496094"/> + <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/> + <use xlink:href="#glyph0-4" x="374.675781" y="375.496094"/> + <use xlink:href="#glyph0-5" x="381.349609" y="375.496094"/> + <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/> + <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/> + <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/> + <use xlink:href="#glyph0-18" x="405.361328" y="375.496094"/> + <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/> + <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/> + <use xlink:href="#glyph0-1" x="425.710938" y="375.496094"/> + <use xlink:href="#glyph0-5" x="432.384766" y="375.496094"/> + <use xlink:href="#glyph0-21" x="439.058594" y="375.496094"/> + <use xlink:href="#glyph0-4" x="445.732422" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg new file mode 100644 index 000000000..f51e6fb7e --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg @@ -0,0 +1,512 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph0-22"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 1.0625 0 L 1.0625 -10.308594 L 8.128906 -10.308594 L 8.128906 -8.5625 L 3.144531 -8.5625 L 3.144531 -6.125 L 7.445313 -6.125 L 7.445313 -4.378906 L 3.144531 -4.378906 L 3.144531 0 Z M 1.0625 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 7.285156 -1.835938 L 7.285156 0 L 0.359375 0 C 0.429688 -0.691406 0.65625 -1.347656 1.035156 -1.96875 C 1.40625 -2.589844 2.144531 -3.414063 3.253906 -4.445313 C 4.140625 -5.269531 4.6875 -5.832031 4.894531 -6.132813 C 5.160156 -6.535156 5.296875 -6.9375 5.300781 -7.339844 C 5.296875 -7.777344 5.179688 -8.117188 4.945313 -8.355469 C 4.707031 -8.589844 4.378906 -8.707031 3.964844 -8.710938 C 3.550781 -8.707031 3.222656 -8.582031 2.980469 -8.335938 C 2.734375 -8.085938 2.59375 -7.675781 2.558594 -7.101563 L 0.589844 -7.296875 C 0.703125 -8.382813 1.070313 -9.164063 1.691406 -9.640625 C 2.308594 -10.109375 3.082031 -10.347656 4.015625 -10.351563 C 5.027344 -10.347656 5.828125 -10.074219 6.410156 -9.527344 C 6.992188 -8.976563 7.28125 -8.292969 7.285156 -7.480469 C 7.28125 -7.015625 7.199219 -6.574219 7.035156 -6.15625 C 6.867188 -5.734375 6.601563 -5.292969 6.242188 -4.835938 C 6 -4.527344 5.570313 -4.089844 4.949219 -3.519531 C 4.324219 -2.945313 3.929688 -2.566406 3.765625 -2.382813 C 3.597656 -2.191406 3.460938 -2.007813 3.359375 -1.835938 Z M 7.285156 -1.835938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface26"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.660156 397.363281 C 77.660156 400.964844 72.257813 400.964844 72.257813 397.363281 C 72.257813 393.765625 77.660156 393.765625 77.660156 397.363281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.339844 377.929688 C 98.339844 381.53125 92.941406 381.53125 92.941406 377.929688 C 92.941406 374.328125 98.339844 374.328125 98.339844 377.929688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.433594 360.4375 C 113.433594 364.039063 108.03125 364.039063 108.03125 360.4375 C 108.03125 356.839844 113.433594 356.839844 113.433594 360.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.933594 350.722656 C 122.933594 354.320313 117.535156 354.320313 117.535156 350.722656 C 117.535156 347.121094 122.933594 347.121094 122.933594 350.722656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.671875 339.058594 C 134.671875 342.660156 129.273438 342.660156 129.273438 339.058594 C 129.273438 335.460938 134.671875 335.460938 134.671875 339.058594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.203125 323.511719 C 149.203125 327.113281 143.804688 327.113281 143.804688 323.511719 C 143.804688 319.910156 149.203125 319.910156 149.203125 323.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.359375 302.132813 C 174.359375 305.734375 168.957031 305.734375 168.957031 302.132813 C 168.957031 298.535156 174.359375 298.535156 174.359375 302.132813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.363281 282.699219 C 193.363281 286.296875 187.960938 286.296875 187.960938 282.699219 C 187.960938 279.097656 193.363281 279.097656 193.363281 282.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.453125 269.09375 C 208.453125 272.695313 203.054688 272.695313 203.054688 269.09375 C 203.054688 265.492188 208.453125 265.492188 208.453125 269.09375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.722656 247.714844 C 234.722656 251.316406 229.324219 251.316406 229.324219 247.714844 C 229.324219 244.117188 234.722656 244.117188 234.722656 247.714844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 250.375 230.222656 C 250.375 233.824219 244.976563 233.824219 244.976563 230.222656 C 244.976563 226.625 250.375 226.625 250.375 230.222656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 269.378906 216.621094 C 269.378906 220.21875 263.980469 220.21875 263.980469 216.621094 C 263.980469 213.019531 269.378906 213.019531 269.378906 216.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 279.441406 206.902344 C 279.441406 210.5 274.039063 210.5 274.039063 206.902344 C 274.039063 203.300781 279.441406 203.300781 279.441406 206.902344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296.210938 195.242188 C 296.210938 198.839844 290.808594 198.839844 290.808594 195.242188 C 290.808594 191.640625 296.210938 191.640625 296.210938 195.242188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 316.890625 177.75 C 316.890625 181.347656 311.492188 181.347656 311.492188 177.75 C 311.492188 174.148438 316.890625 174.148438 316.890625 177.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.777344 164.144531 C 334.777344 167.746094 329.375 167.746094 329.375 164.144531 C 329.375 160.542969 334.777344 160.542969 334.777344 164.144531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.664063 152.484375 C 352.664063 156.082031 347.261719 156.082031 347.261719 152.484375 C 347.261719 148.882813 352.664063 148.882813 352.664063 152.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.078125 142.765625 C 366.078125 146.367188 360.679688 146.367188 360.679688 142.765625 C 360.679688 139.167969 366.078125 139.167969 366.078125 142.765625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.933594 133.046875 C 378.933594 136.648438 373.535156 136.648438 373.535156 133.046875 C 373.535156 129.449219 378.933594 129.449219 378.933594 133.046875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 391.230469 125.273438 C 391.230469 128.875 385.832031 128.875 385.832031 125.273438 C 385.832031 121.675781 391.230469 121.675781 391.230469 125.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.765625 114.585938 C 405.765625 118.183594 400.363281 118.183594 400.363281 114.585938 C 400.363281 110.984375 405.765625 110.984375 405.765625 114.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 425.328125 101.953125 C 425.328125 105.550781 419.925781 105.550781 419.925781 101.953125 C 419.925781 98.351563 425.328125 98.351563 425.328125 101.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.332031 88.347656 C 444.332031 91.949219 438.929688 91.949219 438.929688 88.347656 C 438.929688 84.746094 444.332031 84.746094 444.332031 88.347656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 78.628906 C 461.101563 82.230469 455.699219 82.230469 455.699219 78.628906 C 455.699219 75.03125 461.101563 75.03125 461.101563 78.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.855469 430.558594 L 458.398438 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.855469 430.558594 L 66.855469 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.789063 430.558594 L 122.789063 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.722656 430.558594 L 178.722656 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.660156 430.558594 L 234.660156 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.59375 430.558594 L 290.59375 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.53125 430.558594 L 346.53125 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.464844 430.558594 L 402.464844 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 430.558594 L 458.398438 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="55.175781" y="456.480469"/> + <use xlink:href="#glyph0-2" x="61.849609" y="456.480469"/> + <use xlink:href="#glyph0-1" x="65.183594" y="456.480469"/> + <use xlink:href="#glyph0-1" x="71.857422" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="111.109375" y="456.480469"/> + <use xlink:href="#glyph0-2" x="117.783203" y="456.480469"/> + <use xlink:href="#glyph0-1" x="121.117188" y="456.480469"/> + <use xlink:href="#glyph0-3" x="127.791016" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="167.042969" y="456.480469"/> + <use xlink:href="#glyph0-2" x="173.716797" y="456.480469"/> + <use xlink:href="#glyph0-4" x="177.050781" y="456.480469"/> + <use xlink:href="#glyph0-1" x="183.724609" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="222.980469" y="456.480469"/> + <use xlink:href="#glyph0-2" x="229.654297" y="456.480469"/> + <use xlink:href="#glyph0-4" x="232.988281" y="456.480469"/> + <use xlink:href="#glyph0-3" x="239.662109" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="278.914063" y="456.480469"/> + <use xlink:href="#glyph0-2" x="285.587891" y="456.480469"/> + <use xlink:href="#glyph0-5" x="288.921875" y="456.480469"/> + <use xlink:href="#glyph0-1" x="295.595703" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="334.851563" y="456.480469"/> + <use xlink:href="#glyph0-2" x="341.525391" y="456.480469"/> + <use xlink:href="#glyph0-5" x="344.859375" y="456.480469"/> + <use xlink:href="#glyph0-3" x="351.533203" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="390.785156" y="456.480469"/> + <use xlink:href="#glyph0-2" x="397.458984" y="456.480469"/> + <use xlink:href="#glyph0-6" x="400.792969" y="456.480469"/> + <use xlink:href="#glyph0-1" x="407.466797" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="446.71875" y="456.480469"/> + <use xlink:href="#glyph0-2" x="453.392578" y="456.480469"/> + <use xlink:href="#glyph0-6" x="456.726563" y="456.480469"/> + <use xlink:href="#glyph0-3" x="463.400391" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 423.601563 L 59.039063 78.144531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 423.601563 L 51.839844 423.601563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 366.027344 L 51.839844 366.027344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 308.449219 L 51.839844 308.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 250.875 L 51.839844 250.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 193.296875 L 51.839844 193.296875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 135.722656 L 51.839844 135.722656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 78.144531 L 51.839844 78.144531 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="431.941406"/> + <use xlink:href="#glyph1-2" x="41.761719" y="425.267578"/> + <use xlink:href="#glyph1-1" x="41.761719" y="421.933594"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="374.367188"/> + <use xlink:href="#glyph1-2" x="41.761719" y="367.693359"/> + <use xlink:href="#glyph1-3" x="41.761719" y="364.359375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="316.789063"/> + <use xlink:href="#glyph1-2" x="41.761719" y="310.115234"/> + <use xlink:href="#glyph1-4" x="41.761719" y="306.78125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="259.214844"/> + <use xlink:href="#glyph1-2" x="41.761719" y="252.541016"/> + <use xlink:href="#glyph1-5" x="41.761719" y="249.207031"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="201.636719"/> + <use xlink:href="#glyph1-2" x="41.761719" y="194.962891"/> + <use xlink:href="#glyph1-6" x="41.761719" y="191.628906"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="144.0625"/> + <use xlink:href="#glyph1-2" x="41.761719" y="137.388672"/> + <use xlink:href="#glyph1-1" x="41.761719" y="134.054688"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="86.484375"/> + <use xlink:href="#glyph1-2" x="41.761719" y="79.810547"/> + <use xlink:href="#glyph1-3" x="41.761719" y="76.476563"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="190.175781" y="34.675781"/> + <use xlink:href="#glyph2-2" x="198.971875" y="34.675781"/> + <use xlink:href="#glyph2-3" x="206.980469" y="34.675781"/> + <use xlink:href="#glyph2-4" x="211.775781" y="34.675781"/> + <use xlink:href="#glyph2-5" x="220.571875" y="34.675781"/> + <use xlink:href="#glyph2-6" x="229.367969" y="34.675781"/> + <use xlink:href="#glyph2-7" x="233.36875" y="34.675781"/> + <use xlink:href="#glyph2-2" x="242.164844" y="34.675781"/> + <use xlink:href="#glyph2-8" x="250.173438" y="34.675781"/> + <use xlink:href="#glyph2-8" x="254.96875" y="34.675781"/> + <use xlink:href="#glyph2-9" x="259.764063" y="34.675781"/> + <use xlink:href="#glyph2-10" x="263.764844" y="34.675781"/> + <use xlink:href="#glyph2-11" x="271.773438" y="34.675781"/> + <use xlink:href="#glyph2-6" x="279.782031" y="34.675781"/> + <use xlink:href="#glyph2-12" x="283.782812" y="34.675781"/> + <use xlink:href="#glyph2-6" x="293.3875" y="34.675781"/> + <use xlink:href="#glyph2-13" x="297.388281" y="34.675781"/> + <use xlink:href="#glyph2-6" x="305.797656" y="34.675781"/> + <use xlink:href="#glyph2-14" x="309.798437" y="34.675781"/> + <use xlink:href="#glyph2-15" x="317.807031" y="34.675781"/> + <use xlink:href="#glyph2-6" x="325.815625" y="34.675781"/> + <use xlink:href="#glyph2-16" x="329.816406" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/> + <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.660156 397.363281 C 77.660156 400.964844 72.257813 400.964844 72.257813 397.363281 C 72.257813 393.765625 77.660156 393.765625 77.660156 397.363281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.339844 377.929688 C 98.339844 381.53125 92.941406 381.53125 92.941406 377.929688 C 92.941406 374.328125 98.339844 374.328125 98.339844 377.929688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.433594 360.4375 C 113.433594 364.039063 108.03125 364.039063 108.03125 360.4375 C 108.03125 356.839844 113.433594 356.839844 113.433594 360.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.933594 350.722656 C 122.933594 354.320313 117.535156 354.320313 117.535156 350.722656 C 117.535156 347.121094 122.933594 347.121094 122.933594 350.722656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.671875 339.058594 C 134.671875 342.660156 129.273438 342.660156 129.273438 339.058594 C 129.273438 335.460938 134.671875 335.460938 134.671875 339.058594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.203125 323.511719 C 149.203125 327.113281 143.804688 327.113281 143.804688 323.511719 C 143.804688 319.910156 149.203125 319.910156 149.203125 323.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.359375 302.132813 C 174.359375 305.734375 168.957031 305.734375 168.957031 302.132813 C 168.957031 298.535156 174.359375 298.535156 174.359375 302.132813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.363281 282.699219 C 193.363281 286.296875 187.960938 286.296875 187.960938 282.699219 C 187.960938 279.097656 193.363281 279.097656 193.363281 282.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.453125 269.09375 C 208.453125 272.695313 203.054688 272.695313 203.054688 269.09375 C 203.054688 265.492188 208.453125 265.492188 208.453125 269.09375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.722656 247.714844 C 234.722656 251.316406 229.324219 251.316406 229.324219 247.714844 C 229.324219 244.117188 234.722656 244.117188 234.722656 247.714844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 250.375 230.222656 C 250.375 233.824219 244.976563 233.824219 244.976563 230.222656 C 244.976563 226.625 250.375 226.625 250.375 230.222656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 269.378906 216.621094 C 269.378906 220.21875 263.980469 220.21875 263.980469 216.621094 C 263.980469 213.019531 269.378906 213.019531 269.378906 216.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 279.441406 206.902344 C 279.441406 210.5 274.039063 210.5 274.039063 206.902344 C 274.039063 203.300781 279.441406 203.300781 279.441406 206.902344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296.210938 195.242188 C 296.210938 198.839844 290.808594 198.839844 290.808594 195.242188 C 290.808594 191.640625 296.210938 191.640625 296.210938 195.242188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 316.890625 177.75 C 316.890625 181.347656 311.492188 181.347656 311.492188 177.75 C 311.492188 174.148438 316.890625 174.148438 316.890625 177.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.777344 164.144531 C 334.777344 167.746094 329.375 167.746094 329.375 164.144531 C 329.375 160.542969 334.777344 160.542969 334.777344 164.144531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.664063 152.484375 C 352.664063 156.082031 347.261719 156.082031 347.261719 152.484375 C 347.261719 148.882813 352.664063 148.882813 352.664063 152.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.078125 142.765625 C 366.078125 146.367188 360.679688 146.367188 360.679688 142.765625 C 360.679688 139.167969 366.078125 139.167969 366.078125 142.765625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.933594 133.046875 C 378.933594 136.648438 373.535156 136.648438 373.535156 133.046875 C 373.535156 129.449219 378.933594 129.449219 378.933594 133.046875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 391.230469 125.273438 C 391.230469 128.875 385.832031 128.875 385.832031 125.273438 C 385.832031 121.675781 391.230469 121.675781 391.230469 125.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.765625 114.585938 C 405.765625 118.183594 400.363281 118.183594 400.363281 114.585938 C 400.363281 110.984375 405.765625 110.984375 405.765625 114.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 425.328125 101.953125 C 425.328125 105.550781 419.925781 105.550781 419.925781 101.953125 C 419.925781 98.351563 425.328125 98.351563 425.328125 101.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.332031 88.347656 C 444.332031 91.949219 438.929688 91.949219 438.929688 88.347656 C 438.929688 84.746094 444.332031 84.746094 444.332031 88.347656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 78.628906 C 461.101563 82.230469 455.699219 82.230469 455.699219 78.628906 C 455.699219 75.03125 461.101563 75.03125 461.101563 78.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.957031 397.792969 L 78.792969 393.734375 L 82.628906 389.695313 L 86.460938 385.671875 L 90.296875 381.664063 L 94.132813 377.675781 L 97.964844 373.707031 L 101.800781 369.753906 L 105.632813 365.820313 L 109.46875 361.902344 L 113.304688 358 L 117.136719 354.117188 L 120.972656 350.253906 L 124.804688 346.40625 L 128.640625 342.578125 L 132.476563 338.765625 L 136.308594 334.972656 L 140.144531 331.195313 L 143.976563 327.4375 L 147.8125 323.695313 L 151.648438 319.972656 L 155.480469 316.265625 L 159.316406 312.578125 L 163.152344 308.910156 L 166.984375 305.257813 L 170.820313 301.621094 L 174.652344 298.003906 L 178.488281 294.402344 L 182.324219 290.820313 L 186.15625 287.257813 L 189.992188 283.710938 L 193.824219 280.179688 L 197.660156 276.667969 L 201.496094 273.175781 L 205.328125 269.699219 L 209.164063 266.242188 L 212.996094 262.800781 L 216.832031 259.375 L 220.667969 255.96875 L 224.5 252.582031 L 228.335938 249.210938 L 232.167969 245.859375 L 236.003906 242.523438 L 239.839844 239.207031 L 243.671875 235.90625 L 247.507813 232.625 L 251.34375 229.359375 L 255.175781 226.113281 L 259.011719 222.882813 L 262.84375 219.671875 L 266.679688 216.480469 L 270.515625 213.304688 L 274.347656 210.144531 L 278.183594 207.003906 L 282.015625 203.878906 L 285.851563 200.773438 L 289.6875 197.6875 L 293.519531 194.617188 L 297.355469 191.5625 L 301.1875 188.527344 L 305.023438 185.511719 L 308.859375 182.511719 L 312.691406 179.53125 L 316.527344 176.566406 L 320.359375 173.617188 L 324.195313 170.6875 L 328.03125 167.777344 L 331.863281 164.882813 L 335.699219 162.007813 L 339.535156 159.148438 L 343.367188 156.308594 L 347.203125 153.484375 L 351.035156 150.679688 L 354.871094 147.890625 L 358.707031 145.121094 L 362.539063 142.367188 L 366.375 139.632813 L 370.207031 136.917969 L 374.042969 134.214844 L 377.878906 131.535156 L 381.710938 128.871094 L 385.546875 126.222656 L 389.378906 123.59375 L 393.214844 120.984375 L 397.050781 118.390625 L 400.882813 115.8125 L 404.71875 113.253906 L 408.550781 110.714844 L 412.386719 108.191406 L 416.222656 105.683594 L 420.054688 103.195313 L 423.890625 100.726563 L 427.726563 98.273438 L 431.558594 95.839844 L 435.394531 93.421875 L 439.226563 91.023438 L 443.0625 88.640625 L 446.898438 86.277344 L 450.730469 83.929688 L 454.566406 81.601563 L 458.398438 79.289063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 81.203125 401.253906 L 88.839844 401.253906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 85.019531 405.070313 L 85.019531 397.433594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.058594 381.816406 L 101.695313 381.816406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.875 385.636719 L 97.875 378 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.824219 360.4375 L 118.464844 360.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.644531 364.257813 L 114.644531 356.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.804688 319.625 L 151.441406 319.625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 147.621094 323.441406 L 147.621094 315.804688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 158.894531 302.132813 L 166.53125 302.132813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.714844 305.953125 L 162.714844 298.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.546875 282.699219 L 182.183594 282.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.363281 286.515625 L 178.363281 278.878906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.078125 265.207031 L 196.714844 265.207031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 192.898438 269.023438 L 192.898438 261.386719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 204.171875 251.601563 L 211.808594 251.601563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.988281 255.421875 L 207.988281 247.785156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.144531 234.109375 L 225.78125 234.109375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 221.964844 237.929688 L 221.964844 230.292969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.441406 222.449219 L 238.078125 222.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.261719 226.269531 L 234.261719 218.632813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.976563 208.84375 L 252.613281 208.84375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 248.792969 212.664063 L 248.792969 205.027344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 257.273438 197.183594 L 264.910156 197.183594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261.089844 201.003906 L 261.089844 193.367188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.214844 189.410156 L 273.851563 189.410156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270.03125 193.230469 L 270.03125 185.589844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.953125 179.691406 L 285.589844 179.691406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.769531 183.511719 L 281.769531 175.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 293.042969 168.03125 L 300.679688 168.03125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296.863281 171.851563 L 296.863281 164.214844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.136719 156.371094 L 315.773438 156.371094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 311.953125 160.1875 L 311.953125 152.550781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 327.140625 140.824219 L 334.777344 140.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 330.957031 144.640625 L 330.957031 137.003906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.671875 131.105469 L 349.308594 131.105469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 345.492188 134.921875 L 345.492188 127.285156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.96875 123.332031 L 361.605469 123.332031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.789063 127.148438 L 357.789063 119.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 368.503906 113.613281 L 376.140625 113.613281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 372.320313 117.433594 L 372.320313 109.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 381.917969 105.839844 L 389.554688 105.839844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 385.734375 109.65625 L 385.734375 102.019531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.007813 98.066406 L 404.644531 98.066406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 400.828125 101.882813 L 400.828125 94.246094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.660156 88.347656 L 420.296875 88.347656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416.480469 92.167969 L 416.480469 84.53125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.28125 86.40625 L 430.917969 86.40625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.097656 90.222656 L 427.097656 82.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 435.019531 80.574219 L 442.65625 80.574219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 438.835938 84.390625 L 438.835938 76.753906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 449.550781 74.742188 L 457.1875 74.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.371094 78.5625 L 453.371094 70.925781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 72.800781 L 462.21875 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 76.617188 L 458.398438 68.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 416.125 L 78.238281 410.652344 L 82.078125 405.222656 L 85.921875 399.835938 L 89.761719 394.488281 L 93.601563 389.183594 L 97.441406 383.917969 L 101.28125 378.691406 L 105.121094 373.511719 L 108.960938 368.367188 L 112.800781 363.269531 L 116.640625 358.207031 L 120.480469 353.191406 L 124.320313 348.214844 L 128.160156 343.277344 L 132 338.382813 L 135.839844 333.53125 L 139.679688 328.71875 L 143.519531 323.945313 L 147.359375 319.214844 L 151.199219 314.527344 L 155.039063 309.878906 L 158.878906 305.273438 L 162.71875 300.707031 L 166.558594 296.183594 L 170.398438 291.699219 L 174.238281 287.257813 L 178.078125 282.855469 L 181.921875 278.496094 L 185.761719 274.179688 L 189.601563 269.902344 L 193.441406 265.664063 L 197.28125 261.46875 L 201.121094 257.316406 L 204.960938 253.203125 L 208.800781 249.132813 L 212.640625 245.101563 L 216.480469 241.113281 L 220.320313 237.164063 L 224.160156 233.257813 L 228 229.390625 L 231.839844 225.566406 L 235.679688 221.78125 L 239.519531 218.039063 L 243.359375 214.339844 L 247.199219 210.679688 L 251.039063 207.0625 L 254.878906 203.484375 L 258.71875 199.945313 L 262.558594 196.449219 L 266.398438 192.996094 L 270.238281 189.582031 L 274.078125 186.210938 L 277.921875 182.882813 L 281.761719 179.589844 L 285.601563 176.34375 L 289.441406 173.136719 L 293.28125 169.96875 L 297.121094 166.84375 L 300.960938 163.761719 L 304.800781 160.71875 L 308.640625 157.714844 L 312.480469 154.757813 L 316.320313 151.835938 L 320.160156 148.957031 L 324 146.121094 L 327.839844 143.328125 L 331.679688 140.570313 L 335.519531 137.859375 L 339.359375 135.1875 L 343.199219 132.554688 L 347.039063 129.964844 L 350.878906 127.417969 L 354.71875 124.910156 L 358.558594 122.441406 L 362.398438 120.015625 L 366.238281 117.632813 L 370.078125 115.289063 L 373.921875 112.988281 L 377.761719 110.726563 L 381.601563 108.507813 L 385.441406 106.328125 L 389.28125 104.191406 L 393.121094 102.09375 L 396.960938 100.039063 L 400.800781 98.027344 L 404.640625 96.054688 L 408.480469 94.121094 L 412.320313 92.234375 L 416.160156 90.382813 L 420 88.574219 L 423.839844 86.808594 L 427.679688 85.082031 L 431.519531 83.398438 L 435.359375 81.753906 L 439.199219 80.152344 L 443.039063 78.59375 L 446.878906 77.070313 L 450.71875 75.59375 L 454.558594 74.15625 L 458.398438 72.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-5" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-16" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-4" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/> + <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/> + <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/> + <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/> + <use xlink:href="#glyph0-18" x="361" y="346.695313"/> + <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/> + <use xlink:href="#glyph0-19" x="371.341797" y="346.695313"/> + <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/> + <use xlink:href="#glyph0-4" x="381.349609" y="346.695313"/> + <use xlink:href="#glyph0-16" x="388.023438" y="346.695313"/> + <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/> + <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/> + <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/> + <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/> + <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/> + <use xlink:href="#glyph0-1" x="432.384766" y="346.695313"/> + <use xlink:href="#glyph0-3" x="439.058594" y="346.695313"/> + <use xlink:href="#glyph0-20" x="445.732422" y="346.695313"/> + <use xlink:href="#glyph0-16" x="452.40625" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-16" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-1" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-21" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/> + <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/> + <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/> + <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/> + <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/> + <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/> + <use xlink:href="#glyph0-3" x="364.667969" y="375.496094"/> + <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/> + <use xlink:href="#glyph0-16" x="374.675781" y="375.496094"/> + <use xlink:href="#glyph0-19" x="381.349609" y="375.496094"/> + <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/> + <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/> + <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/> + <use xlink:href="#glyph0-15" x="405.361328" y="375.496094"/> + <use xlink:href="#glyph0-13" x="409.357422" y="375.496094"/> + <use xlink:href="#glyph0-1" x="412.691406" y="375.496094"/> + <use xlink:href="#glyph0-2" x="419.365234" y="375.496094"/> + <use xlink:href="#glyph0-1" x="422.699219" y="375.496094"/> + <use xlink:href="#glyph0-4" x="429.373047" y="375.496094"/> + <use xlink:href="#glyph0-4" x="436.046875" y="375.496094"/> + <use xlink:href="#glyph0-22" x="442.720703" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg new file mode 100644 index 000000000..75af2bf58 --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg @@ -0,0 +1,459 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -7.464844 -0.570313 L -8.476563 -0.570313 L -8.476563 -6.128906 L -7.65625 -6.128906 C -7.074219 -5.582031 -6.300781 -5.039063 -5.335938 -4.503906 C -4.371094 -3.964844 -3.378906 -3.550781 -2.359375 -3.257813 C -1.636719 -3.046875 -0.851563 -2.910156 0 -2.851563 L 0 -1.769531 C -0.675781 -1.78125 -1.492188 -1.914063 -2.449219 -2.167969 C -3.402344 -2.421875 -4.324219 -2.785156 -5.214844 -3.261719 C -6.105469 -3.734375 -6.855469 -4.238281 -7.464844 -4.777344 Z M -7.464844 -0.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 7.644531 -3.789063 L 9.660156 -3.148438 C 9.347656 -2.019531 8.832031 -1.183594 8.117188 -0.640625 C 7.394531 -0.09375 6.484375 0.175781 5.378906 0.175781 C 4.007813 0.175781 2.882813 -0.289063 2.003906 -1.226563 C 1.121094 -2.15625 0.679688 -3.4375 0.683594 -5.0625 C 0.679688 -6.777344 1.121094 -8.109375 2.011719 -9.058594 C 2.894531 -10.007813 4.058594 -10.480469 5.503906 -10.484375 C 6.761719 -10.480469 7.789063 -10.109375 8.578125 -9.367188 C 9.046875 -8.921875 9.398438 -8.289063 9.632813 -7.46875 L 7.574219 -6.976563 C 7.449219 -7.507813 7.195313 -7.929688 6.808594 -8.238281 C 6.421875 -8.546875 5.949219 -8.699219 5.398438 -8.703125 C 4.632813 -8.699219 4.015625 -8.425781 3.539063 -7.878906 C 3.0625 -7.328125 2.824219 -6.441406 2.828125 -5.21875 C 2.824219 -3.910156 3.058594 -2.980469 3.53125 -2.429688 C 3.996094 -1.875 4.605469 -1.597656 5.359375 -1.601563 C 5.910156 -1.597656 6.386719 -1.773438 6.785156 -2.128906 C 7.183594 -2.476563 7.46875 -3.03125 7.644531 -3.789063 Z M 7.644531 -3.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 3.003906 -10.308594 L 3.003906 -6.519531 C 3.636719 -7.261719 4.398438 -7.632813 5.289063 -7.636719 C 5.738281 -7.632813 6.148438 -7.550781 6.515625 -7.382813 C 6.882813 -7.210938 7.15625 -6.992188 7.34375 -6.734375 C 7.523438 -6.46875 7.652344 -6.179688 7.722656 -5.863281 C 7.789063 -5.542969 7.820313 -5.046875 7.824219 -4.378906 L 7.824219 0 L 5.851563 0 L 5.851563 -3.945313 C 5.847656 -4.722656 5.808594 -5.21875 5.738281 -5.433594 C 5.660156 -5.640625 5.527344 -5.808594 5.339844 -5.9375 C 5.144531 -6.058594 4.90625 -6.121094 4.625 -6.125 C 4.292969 -6.121094 4 -6.042969 3.746094 -5.882813 C 3.484375 -5.722656 3.296875 -5.480469 3.179688 -5.164063 C 3.058594 -4.839844 3 -4.367188 3.003906 -3.742188 L 3.003906 0 L 1.027344 0 L 1.027344 -10.308594 Z M 3.003906 -10.308594 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-17"> +<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-18"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface41"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 383.480469 C 77.101563 387.082031 71.699219 387.082031 71.699219 383.480469 C 71.699219 379.878906 77.101563 379.878906 77.101563 383.480469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.566406 367.761719 C 93.566406 371.359375 88.167969 371.359375 88.167969 367.761719 C 88.167969 364.160156 93.566406 364.160156 93.566406 367.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.082031 355.535156 C 106.082031 359.132813 100.679688 359.132813 100.679688 355.535156 C 100.679688 351.933594 106.082031 351.933594 106.082031 355.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 127.816406 335.449219 C 127.816406 339.050781 122.417969 339.050781 122.417969 335.449219 C 122.417969 331.851563 127.816406 331.851563 127.816406 335.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.625 320.605469 C 143.625 324.203125 138.226563 324.203125 138.226563 320.605469 C 138.226563 317.003906 143.625 317.003906 143.625 320.605469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.089844 304.886719 C 160.089844 308.484375 154.691406 308.484375 154.691406 304.886719 C 154.691406 301.285156 160.089844 301.285156 160.089844 304.886719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.582031 292.664063 C 174.582031 296.265625 169.183594 296.265625 169.183594 292.664063 C 169.183594 289.066406 174.582031 289.066406 174.582031 292.664063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 185.121094 282.183594 C 185.121094 285.785156 179.71875 285.785156 179.71875 282.183594 C 179.71875 278.582031 185.121094 278.582031 185.121094 282.183594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.292969 269.957031 C 198.292969 273.558594 192.894531 273.558594 192.894531 269.957031 C 192.894531 266.359375 198.292969 266.359375 198.292969 269.957031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.148438 261.234375 C 210.148438 264.835938 204.75 264.835938 204.75 261.234375 C 204.75 257.636719 210.148438 257.636719 210.148438 261.234375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.003906 249.003906 C 222.003906 252.605469 216.605469 252.605469 216.605469 249.003906 C 216.605469 245.40625 222.003906 245.40625 222.003906 249.003906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.496094 238.539063 C 236.496094 242.140625 231.097656 242.140625 231.097656 238.539063 C 231.097656 234.9375 236.496094 234.9375 236.496094 238.539063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.304688 224.570313 C 252.304688 228.171875 246.902344 228.171875 246.902344 224.570313 C 246.902344 220.96875 252.304688 220.96875 252.304688 224.570313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 268.769531 212.359375 C 268.769531 215.957031 263.371094 215.957031 263.371094 212.359375 C 263.371094 208.757813 268.769531 208.757813 268.769531 212.359375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.917969 200.140625 C 283.917969 203.738281 278.519531 203.738281 278.519531 200.140625 C 278.519531 196.539063 283.917969 196.539063 283.917969 200.140625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 303.019531 184.429688 C 303.019531 188.03125 297.621094 188.03125 297.621094 184.429688 C 297.621094 180.832031 303.019531 180.832031 303.019531 184.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 317.511719 173.964844 C 317.511719 177.5625 312.113281 177.5625 312.113281 173.964844 C 312.113281 170.363281 317.511719 170.363281 317.511719 173.964844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.539063 154.769531 C 342.539063 158.371094 337.140625 158.371094 337.140625 154.769531 C 337.140625 151.167969 342.539063 151.167969 342.539063 154.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.691406 143.429688 C 357.691406 147.027344 352.289063 147.027344 352.289063 143.429688 C 352.289063 139.828125 357.691406 139.828125 357.691406 143.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 375.472656 130.34375 C 375.472656 133.945313 370.074219 133.945313 370.074219 130.34375 C 370.074219 126.742188 375.472656 126.742188 375.472656 130.34375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.257813 118.136719 C 393.257813 121.734375 387.859375 121.734375 387.859375 118.136719 C 387.859375 114.535156 393.257813 114.535156 393.257813 118.136719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.992188 104.191406 C 414.992188 107.789063 409.59375 107.789063 409.59375 104.191406 C 409.59375 100.589844 414.992188 100.589844 414.992188 104.191406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.753906 90.234375 C 434.753906 93.835938 429.355469 93.835938 429.355469 90.234375 C 429.355469 86.636719 434.753906 86.636719 434.753906 90.234375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 447.269531 83.269531 C 447.269531 86.867188 441.867188 86.867188 441.867188 83.269531 C 441.867188 79.667969 447.269531 79.667969 447.269531 83.269531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.460938 430.558594 L 453.351563 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.460938 430.558594 L 142.460938 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 246.089844 430.558594 L 246.089844 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 349.722656 430.558594 L 349.722656 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.351563 430.558594 L 453.351563 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="139.125" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="242.753906" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="346.386719" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-4" x="450.015625" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 378.035156 L 59.039063 62.402344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 378.035156 L 51.839844 378.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 325.429688 L 51.839844 325.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 272.824219 L 51.839844 272.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 220.21875 L 51.839844 220.21875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 167.613281 L 51.839844 167.613281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 115.007813 L 51.839844 115.007813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 62.402344 L 51.839844 62.402344 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="381.371094"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="41.761719" y="328.765625"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="41.761719" y="276.160156"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="41.761719" y="223.554688"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="41.761719" y="170.949219"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="41.761719" y="118.34375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="65.738281"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="176.5625" y="34.675781"/> + <use xlink:href="#glyph2-2" x="186.961719" y="34.675781"/> + <use xlink:href="#glyph2-3" x="195.757813" y="34.675781"/> + <use xlink:href="#glyph2-4" x="203.766406" y="34.675781"/> + <use xlink:href="#glyph2-5" x="211.775" y="34.675781"/> + <use xlink:href="#glyph2-6" x="217.378906" y="34.675781"/> + <use xlink:href="#glyph2-7" x="226.175" y="34.675781"/> + <use xlink:href="#glyph2-8" x="234.971094" y="34.675781"/> + <use xlink:href="#glyph2-9" x="242.979687" y="34.675781"/> + <use xlink:href="#glyph2-10" x="246.980469" y="34.675781"/> + <use xlink:href="#glyph2-11" x="255.776562" y="34.675781"/> + <use xlink:href="#glyph2-12" x="263.785156" y="34.675781"/> + <use xlink:href="#glyph2-12" x="268.580469" y="34.675781"/> + <use xlink:href="#glyph2-13" x="273.375781" y="34.675781"/> + <use xlink:href="#glyph2-3" x="277.376563" y="34.675781"/> + <use xlink:href="#glyph2-8" x="285.385156" y="34.675781"/> + <use xlink:href="#glyph2-9" x="293.39375" y="34.675781"/> + <use xlink:href="#glyph2-14" x="297.394531" y="34.675781"/> + <use xlink:href="#glyph2-9" x="306.999219" y="34.675781"/> + <use xlink:href="#glyph2-15" x="311" y="34.675781"/> + <use xlink:href="#glyph2-9" x="319.409375" y="34.675781"/> + <use xlink:href="#glyph2-16" x="323.410156" y="34.675781"/> + <use xlink:href="#glyph2-17" x="331.41875" y="34.675781"/> + <use xlink:href="#glyph2-9" x="339.427344" y="34.675781"/> + <use xlink:href="#glyph2-18" x="343.428125" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="260.726563" y="485.28125"/> + <use xlink:href="#glyph0-6" x="267.400391" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-9" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-11" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-12" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-13" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-11" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-9" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 383.480469 C 77.101563 387.082031 71.699219 387.082031 71.699219 383.480469 C 71.699219 379.878906 77.101563 379.878906 77.101563 383.480469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.566406 367.761719 C 93.566406 371.359375 88.167969 371.359375 88.167969 367.761719 C 88.167969 364.160156 93.566406 364.160156 93.566406 367.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.082031 355.535156 C 106.082031 359.132813 100.679688 359.132813 100.679688 355.535156 C 100.679688 351.933594 106.082031 351.933594 106.082031 355.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 127.816406 335.449219 C 127.816406 339.050781 122.417969 339.050781 122.417969 335.449219 C 122.417969 331.851563 127.816406 331.851563 127.816406 335.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.625 320.605469 C 143.625 324.203125 138.226563 324.203125 138.226563 320.605469 C 138.226563 317.003906 143.625 317.003906 143.625 320.605469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.089844 304.886719 C 160.089844 308.484375 154.691406 308.484375 154.691406 304.886719 C 154.691406 301.285156 160.089844 301.285156 160.089844 304.886719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.582031 292.664063 C 174.582031 296.265625 169.183594 296.265625 169.183594 292.664063 C 169.183594 289.066406 174.582031 289.066406 174.582031 292.664063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 185.121094 282.183594 C 185.121094 285.785156 179.71875 285.785156 179.71875 282.183594 C 179.71875 278.582031 185.121094 278.582031 185.121094 282.183594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.292969 269.957031 C 198.292969 273.558594 192.894531 273.558594 192.894531 269.957031 C 192.894531 266.359375 198.292969 266.359375 198.292969 269.957031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.148438 261.234375 C 210.148438 264.835938 204.75 264.835938 204.75 261.234375 C 204.75 257.636719 210.148438 257.636719 210.148438 261.234375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.003906 249.003906 C 222.003906 252.605469 216.605469 252.605469 216.605469 249.003906 C 216.605469 245.40625 222.003906 245.40625 222.003906 249.003906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.496094 238.539063 C 236.496094 242.140625 231.097656 242.140625 231.097656 238.539063 C 231.097656 234.9375 236.496094 234.9375 236.496094 238.539063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.304688 224.570313 C 252.304688 228.171875 246.902344 228.171875 246.902344 224.570313 C 246.902344 220.96875 252.304688 220.96875 252.304688 224.570313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 268.769531 212.359375 C 268.769531 215.957031 263.371094 215.957031 263.371094 212.359375 C 263.371094 208.757813 268.769531 208.757813 268.769531 212.359375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.917969 200.140625 C 283.917969 203.738281 278.519531 203.738281 278.519531 200.140625 C 278.519531 196.539063 283.917969 196.539063 283.917969 200.140625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 303.019531 184.429688 C 303.019531 188.03125 297.621094 188.03125 297.621094 184.429688 C 297.621094 180.832031 303.019531 180.832031 303.019531 184.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 317.511719 173.964844 C 317.511719 177.5625 312.113281 177.5625 312.113281 173.964844 C 312.113281 170.363281 317.511719 170.363281 317.511719 173.964844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.539063 154.769531 C 342.539063 158.371094 337.140625 158.371094 337.140625 154.769531 C 337.140625 151.167969 342.539063 151.167969 342.539063 154.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.691406 143.429688 C 357.691406 147.027344 352.289063 147.027344 352.289063 143.429688 C 352.289063 139.828125 357.691406 139.828125 357.691406 143.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 375.472656 130.34375 C 375.472656 133.945313 370.074219 133.945313 370.074219 130.34375 C 370.074219 126.742188 375.472656 126.742188 375.472656 130.34375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.257813 118.136719 C 393.257813 121.734375 387.859375 121.734375 387.859375 118.136719 C 387.859375 114.535156 393.257813 114.535156 393.257813 118.136719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.992188 104.191406 C 414.992188 107.789063 409.59375 107.789063 409.59375 104.191406 C 409.59375 100.589844 414.992188 100.589844 414.992188 104.191406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.753906 90.234375 C 434.753906 93.835938 429.355469 93.835938 429.355469 90.234375 C 429.355469 86.636719 434.753906 86.636719 434.753906 90.234375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 447.269531 83.269531 C 447.269531 86.867188 441.867188 86.867188 441.867188 83.269531 C 441.867188 79.667969 447.269531 79.667969 447.269531 83.269531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 383.789063 L 78.238281 380.003906 L 82.078125 376.230469 L 85.921875 372.472656 L 89.761719 368.730469 L 93.601563 365 L 97.441406 361.28125 L 101.28125 357.578125 L 105.121094 353.890625 L 108.960938 350.214844 L 112.800781 346.554688 L 116.640625 342.90625 L 120.480469 339.273438 L 124.320313 335.652344 L 128.160156 332.046875 L 132 328.453125 L 135.839844 324.875 L 139.679688 321.3125 L 143.519531 317.761719 L 147.359375 314.222656 L 151.199219 310.699219 L 155.039063 307.191406 L 158.878906 303.695313 L 162.71875 300.214844 L 166.558594 296.746094 L 170.398438 293.292969 L 174.238281 289.851563 L 178.078125 286.425781 L 181.921875 283.015625 L 185.761719 279.613281 L 189.601563 276.230469 L 193.441406 272.859375 L 197.28125 269.5 L 201.121094 266.15625 L 204.960938 262.828125 L 208.800781 259.511719 L 212.640625 256.210938 L 216.480469 252.921875 L 220.320313 249.648438 L 224.160156 246.386719 L 228 243.140625 L 231.839844 239.90625 L 235.679688 236.6875 L 239.519531 233.484375 L 243.359375 230.292969 L 247.199219 227.113281 L 251.039063 223.949219 L 254.878906 220.800781 L 258.71875 217.664063 L 262.558594 214.542969 L 266.398438 211.433594 L 270.238281 208.339844 L 274.078125 205.257813 L 277.921875 202.191406 L 281.761719 199.136719 L 285.601563 196.097656 L 289.441406 193.074219 L 293.28125 190.058594 L 297.121094 187.0625 L 300.960938 184.078125 L 304.800781 181.109375 L 308.640625 178.152344 L 312.480469 175.207031 L 316.320313 172.28125 L 320.160156 169.363281 L 324 166.464844 L 327.839844 163.574219 L 331.679688 160.703125 L 335.519531 157.84375 L 339.359375 154.996094 L 343.199219 152.164063 L 347.039063 149.347656 L 350.878906 146.542969 L 354.71875 143.75 L 358.558594 140.972656 L 362.398438 138.210938 L 366.238281 135.460938 L 370.078125 132.726563 L 373.921875 130.003906 L 377.761719 127.296875 L 381.601563 124.601563 L 385.441406 121.921875 L 389.28125 119.257813 L 393.121094 116.601563 L 396.960938 113.964844 L 400.800781 111.339844 L 404.640625 108.730469 L 408.480469 106.132813 L 412.320313 103.546875 L 416.160156 100.976563 L 420 98.421875 L 423.839844 95.878906 L 427.679688 93.351563 L 431.519531 90.839844 L 435.359375 88.335938 L 439.199219 85.851563 L 443.039063 83.378906 L 446.878906 80.917969 L 450.71875 78.472656 L 454.558594 76.042969 L 458.398438 73.625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 71.242188 416.800781 L 78.878906 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.058594 420.617188 L 75.058594 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 91.660156 402.847656 L 99.296875 402.847656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 95.476563 406.667969 L 95.476563 399.03125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.761719 388.890625 L 118.398438 388.890625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.578125 392.710938 L 114.578125 385.074219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.957031 383.675781 L 129.59375 383.675781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125.777344 387.492188 L 125.777344 379.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.742188 371.464844 L 147.378906 371.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.558594 375.285156 L 143.558594 367.648438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.574219 362.75 L 161.210938 362.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 157.390625 366.570313 L 157.390625 358.933594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 167.40625 355.789063 L 175.042969 355.789063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 171.222656 359.605469 L 171.222656 351.96875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.800781 340.089844 L 197.4375 340.089844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.617188 343.910156 L 193.617188 336.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.21875 329.648438 L 217.855469 329.648438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 214.035156 333.464844 L 214.035156 325.828125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 229.976563 319.199219 L 237.613281 319.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 233.796875 323.019531 L 233.796875 315.382813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 243.152344 310.480469 L 250.789063 310.480469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 246.96875 314.300781 L 246.96875 306.664063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.277344 301.777344 L 267.914063 301.777344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 264.09375 305.597656 L 264.09375 297.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 285.964844 287.847656 L 293.601563 287.847656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.78125 291.667969 L 289.78125 284.03125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.453125 279.132813 L 308.089844 279.132813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 304.273438 282.953125 L 304.273438 275.316406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 314.945313 272.175781 L 322.582031 272.175781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.761719 275.992188 L 318.761719 268.355469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 330.09375 263.464844 L 337.730469 263.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 333.914063 267.28125 L 333.914063 259.644531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 345.902344 254.757813 L 353.539063 254.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 349.722656 258.574219 L 349.722656 250.9375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.757813 251.292969 L 365.394531 251.292969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 361.578125 255.113281 L 361.578125 247.476563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.929688 244.328125 L 378.566406 244.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.75 248.148438 L 374.75 240.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.761719 235.613281 L 392.398438 235.613281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.582031 239.433594 L 388.582031 231.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 400.570313 230.414063 L 408.207031 230.414063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 404.390625 234.230469 L 404.390625 226.59375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 410.453125 225.1875 L 418.089844 225.1875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.269531 229.007813 L 414.269531 221.371094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 424.28125 218.226563 L 431.917969 218.226563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 428.101563 222.046875 L 428.101563 214.410156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 439.433594 213.023438 L 447.070313 213.023438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.25 216.84375 L 443.25 209.207031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 206.066406 L 462.21875 206.066406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 209.886719 L 458.398438 202.25 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.058594 416.171875 L 78.890625 413.621094 L 82.726563 411.074219 L 86.558594 408.539063 L 90.390625 406.011719 L 94.226563 403.496094 L 98.058594 400.988281 L 101.890625 398.488281 L 105.726563 396 L 109.558594 393.519531 L 113.394531 391.046875 L 117.226563 388.582031 L 121.058594 386.128906 L 124.894531 383.683594 L 128.726563 381.25 L 132.558594 378.820313 L 136.394531 376.40625 L 140.226563 373.996094 L 144.058594 371.597656 L 147.894531 369.207031 L 151.726563 366.824219 L 155.558594 364.453125 L 159.394531 362.089844 L 163.226563 359.734375 L 167.0625 357.390625 L 170.894531 355.054688 L 174.726563 352.726563 L 178.5625 350.410156 L 182.394531 348.101563 L 186.226563 345.800781 L 190.0625 343.507813 L 193.894531 341.226563 L 197.726563 338.957031 L 201.5625 336.691406 L 205.394531 334.4375 L 209.226563 332.191406 L 213.0625 329.957031 L 216.894531 327.726563 L 220.726563 325.511719 L 224.5625 323.300781 L 228.394531 321.101563 L 232.230469 318.910156 L 236.0625 316.726563 L 239.894531 314.554688 L 243.730469 312.390625 L 247.5625 310.238281 L 251.394531 308.089844 L 255.230469 305.953125 L 259.0625 303.828125 L 262.894531 301.707031 L 266.730469 299.597656 L 270.5625 297.5 L 274.394531 295.40625 L 278.230469 293.324219 L 282.0625 291.25 L 285.894531 289.1875 L 289.730469 287.132813 L 293.5625 285.085938 L 297.398438 283.050781 L 301.230469 281.019531 L 305.0625 279.003906 L 308.898438 276.992188 L 312.730469 274.992188 L 316.5625 273 L 320.398438 271.019531 L 324.230469 269.042969 L 328.0625 267.078125 L 331.898438 265.125 L 335.730469 263.179688 L 339.5625 261.242188 L 343.398438 259.3125 L 347.230469 257.394531 L 351.0625 255.484375 L 354.898438 253.582031 L 358.730469 251.691406 L 362.566406 249.808594 L 366.398438 247.933594 L 370.230469 246.070313 L 374.066406 244.214844 L 377.898438 242.367188 L 381.730469 240.527344 L 385.566406 238.699219 L 389.398438 236.878906 L 393.230469 235.070313 L 397.066406 233.269531 L 400.898438 231.476563 L 404.730469 229.695313 L 408.566406 227.917969 L 412.398438 226.152344 L 416.234375 224.398438 L 420.066406 222.652344 L 423.898438 220.914063 L 427.734375 219.183594 L 431.566406 217.464844 L 435.398438 215.753906 L 439.234375 214.050781 L 443.066406 212.359375 L 446.898438 210.675781 L 450.734375 209 L 454.566406 207.335938 L 458.398438 205.679688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-8" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-9" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-8" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-8" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-9" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-8" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-10" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-11" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-10" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-12" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-10" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-13" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-14" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-13" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-1" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-15" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-16" x="338.03125" y="346.695313"/> + <use xlink:href="#glyph0-5" x="344.705078" y="346.695313"/> + <use xlink:href="#glyph0-6" x="351.378906" y="346.695313"/> + <use xlink:href="#glyph0-17" x="356.048828" y="346.695313"/> + <use xlink:href="#glyph0-1" x="361.679688" y="346.695313"/> + <use xlink:href="#glyph0-10" x="368.353516" y="346.695313"/> + <use xlink:href="#glyph0-18" x="371.6875" y="346.695313"/> + <use xlink:href="#glyph0-10" x="378.695313" y="346.695313"/> + <use xlink:href="#glyph0-19" x="382.029297" y="346.695313"/> + <use xlink:href="#glyph0-14" x="388.703125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="392.037109" y="346.695313"/> + <use xlink:href="#glyph0-19" x="398.710938" y="346.695313"/> + <use xlink:href="#glyph0-5" x="405.384766" y="346.695313"/> + <use xlink:href="#glyph0-6" x="412.058594" y="346.695313"/> + <use xlink:href="#glyph0-10" x="416.728516" y="346.695313"/> + <use xlink:href="#glyph0-18" x="420.0625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="427.070313" y="346.695313"/> + <use xlink:href="#glyph0-19" x="430.404297" y="346.695313"/> + <use xlink:href="#glyph0-14" x="437.078125" y="346.695313"/> + <use xlink:href="#glyph0-1" x="440.412109" y="346.695313"/> + <use xlink:href="#glyph0-19" x="447.085938" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-9" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-8" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-9" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-8" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-10" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-11" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-10" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-12" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-10" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-13" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-14" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-13" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-19" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-20" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-21" x="331.357422" y="375.496094"/> + <use xlink:href="#glyph0-5" x="338.03125" y="375.496094"/> + <use xlink:href="#glyph0-6" x="344.705078" y="375.496094"/> + <use xlink:href="#glyph0-17" x="349.375" y="375.496094"/> + <use xlink:href="#glyph0-1" x="355.005859" y="375.496094"/> + <use xlink:href="#glyph0-10" x="361.679688" y="375.496094"/> + <use xlink:href="#glyph0-18" x="365.013672" y="375.496094"/> + <use xlink:href="#glyph0-10" x="372.021484" y="375.496094"/> + <use xlink:href="#glyph0-13" x="375.355469" y="375.496094"/> + <use xlink:href="#glyph0-14" x="382.029297" y="375.496094"/> + <use xlink:href="#glyph0-3" x="385.363281" y="375.496094"/> + <use xlink:href="#glyph0-21" x="392.037109" y="375.496094"/> + <use xlink:href="#glyph0-16" x="398.710938" y="375.496094"/> + <use xlink:href="#glyph0-5" x="405.384766" y="375.496094"/> + <use xlink:href="#glyph0-6" x="412.058594" y="375.496094"/> + <use xlink:href="#glyph0-10" x="416.728516" y="375.496094"/> + <use xlink:href="#glyph0-18" x="420.0625" y="375.496094"/> + <use xlink:href="#glyph0-10" x="427.070313" y="375.496094"/> + <use xlink:href="#glyph0-13" x="430.404297" y="375.496094"/> + <use xlink:href="#glyph0-14" x="437.078125" y="375.496094"/> + <use xlink:href="#glyph0-4" x="440.412109" y="375.496094"/> + <use xlink:href="#glyph0-13" x="447.085938" y="375.496094"/> + <use xlink:href="#glyph0-4" x="453.759766" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg b/docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg new file mode 100644 index 000000000..f4a0453f4 --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg @@ -0,0 +1,445 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M -7.464844 -0.570313 L -8.476563 -0.570313 L -8.476563 -6.128906 L -7.65625 -6.128906 C -7.074219 -5.582031 -6.300781 -5.039063 -5.335938 -4.503906 C -4.371094 -3.964844 -3.378906 -3.550781 -2.359375 -3.257813 C -1.636719 -3.046875 -0.851563 -2.910156 0 -2.851563 L 0 -1.769531 C -0.675781 -1.78125 -1.492188 -1.914063 -2.449219 -2.167969 C -3.402344 -2.421875 -4.324219 -2.785156 -5.214844 -3.261719 C -6.105469 -3.734375 -6.855469 -4.238281 -7.464844 -4.777344 Z M -7.464844 -0.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 7.644531 -3.789063 L 9.660156 -3.148438 C 9.347656 -2.019531 8.832031 -1.183594 8.117188 -0.640625 C 7.394531 -0.09375 6.484375 0.175781 5.378906 0.175781 C 4.007813 0.175781 2.882813 -0.289063 2.003906 -1.226563 C 1.121094 -2.15625 0.679688 -3.4375 0.683594 -5.0625 C 0.679688 -6.777344 1.121094 -8.109375 2.011719 -9.058594 C 2.894531 -10.007813 4.058594 -10.480469 5.503906 -10.484375 C 6.761719 -10.480469 7.789063 -10.109375 8.578125 -9.367188 C 9.046875 -8.921875 9.398438 -8.289063 9.632813 -7.46875 L 7.574219 -6.976563 C 7.449219 -7.507813 7.195313 -7.929688 6.808594 -8.238281 C 6.421875 -8.546875 5.949219 -8.699219 5.398438 -8.703125 C 4.632813 -8.699219 4.015625 -8.425781 3.539063 -7.878906 C 3.0625 -7.328125 2.824219 -6.441406 2.828125 -5.21875 C 2.824219 -3.910156 3.058594 -2.980469 3.53125 -2.429688 C 3.996094 -1.875 4.605469 -1.597656 5.359375 -1.601563 C 5.910156 -1.597656 6.386719 -1.773438 6.785156 -2.128906 C 7.183594 -2.476563 7.46875 -3.03125 7.644531 -3.789063 Z M 7.644531 -3.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 3.003906 -10.308594 L 3.003906 -6.519531 C 3.636719 -7.261719 4.398438 -7.632813 5.289063 -7.636719 C 5.738281 -7.632813 6.148438 -7.550781 6.515625 -7.382813 C 6.882813 -7.210938 7.15625 -6.992188 7.34375 -6.734375 C 7.523438 -6.46875 7.652344 -6.179688 7.722656 -5.863281 C 7.789063 -5.542969 7.820313 -5.046875 7.824219 -4.378906 L 7.824219 0 L 5.851563 0 L 5.851563 -3.945313 C 5.847656 -4.722656 5.808594 -5.21875 5.738281 -5.433594 C 5.660156 -5.640625 5.527344 -5.808594 5.339844 -5.9375 C 5.144531 -6.058594 4.90625 -6.121094 4.625 -6.125 C 4.292969 -6.121094 4 -6.042969 3.746094 -5.882813 C 3.484375 -5.722656 3.296875 -5.480469 3.179688 -5.164063 C 3.058594 -4.839844 3 -4.367188 3.003906 -3.742188 L 3.003906 0 L 1.027344 0 L 1.027344 -10.308594 Z M 3.003906 -10.308594 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-17"> +<path style="stroke:none;" d="M 7.304688 -7.785156 L 5.394531 -7.574219 C 5.34375 -7.964844 5.222656 -8.253906 5.027344 -8.445313 C 4.828125 -8.628906 4.570313 -8.722656 4.261719 -8.726563 C 3.839844 -8.722656 3.488281 -8.535156 3.203125 -8.164063 C 2.910156 -7.785156 2.726563 -7.003906 2.65625 -5.820313 C 3.144531 -6.398438 3.757813 -6.691406 4.492188 -6.695313 C 5.316406 -6.691406 6.023438 -6.375 6.613281 -5.75 C 7.199219 -5.117188 7.492188 -4.308594 7.496094 -3.320313 C 7.492188 -2.261719 7.183594 -1.414063 6.566406 -0.78125 C 5.945313 -0.140625 5.152344 0.175781 4.183594 0.175781 C 3.140625 0.175781 2.285156 -0.226563 1.617188 -1.035156 C 0.945313 -1.84375 0.609375 -3.167969 0.613281 -5.011719 C 0.609375 -6.898438 0.957031 -8.261719 1.660156 -9.097656 C 2.355469 -9.929688 3.261719 -10.347656 4.378906 -10.351563 C 5.160156 -10.347656 5.808594 -10.128906 6.324219 -9.691406 C 6.832031 -9.253906 7.160156 -8.617188 7.304688 -7.785156 Z M 2.828125 -3.472656 C 2.824219 -2.828125 2.972656 -2.332031 3.269531 -1.984375 C 3.5625 -1.632813 3.898438 -1.457031 4.28125 -1.460938 C 4.644531 -1.457031 4.949219 -1.601563 5.195313 -1.890625 C 5.4375 -2.175781 5.558594 -2.644531 5.5625 -3.296875 C 5.558594 -3.964844 5.429688 -4.457031 5.167969 -4.769531 C 4.902344 -5.082031 4.574219 -5.238281 4.183594 -5.238281 C 3.800781 -5.238281 3.476563 -5.085938 3.21875 -4.789063 C 2.953125 -4.488281 2.824219 -4.050781 2.828125 -3.472656 Z M 2.828125 -3.472656 "/> +</symbol> +<symbol overflow="visible" id="glyph2-18"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface46"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 356.820313 C 77.101563 360.421875 71.699219 360.421875 71.699219 356.820313 C 71.699219 353.21875 77.101563 353.21875 77.101563 356.820313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.605469 328.59375 C 113.605469 332.195313 108.207031 332.195313 108.207031 328.59375 C 108.207031 324.996094 113.605469 324.996094 113.605469 328.59375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.566406 310.953125 C 134.566406 314.554688 129.164063 314.554688 129.164063 310.953125 C 129.164063 307.355469 134.566406 307.355469 134.566406 310.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.875 293.3125 C 156.875 296.914063 151.476563 296.914063 151.476563 293.3125 C 151.476563 289.710938 156.875 289.710938 156.875 293.3125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.761719 261.558594 C 196.761719 265.160156 191.363281 265.160156 191.363281 261.558594 C 191.363281 257.957031 196.761719 257.957031 196.761719 261.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.070313 243.917969 C 219.070313 247.519531 213.671875 247.519531 213.671875 243.917969 C 213.671875 240.316406 219.070313 240.316406 219.070313 243.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 243.410156 224.511719 C 243.410156 228.113281 238.011719 228.113281 238.011719 224.511719 C 238.011719 220.914063 243.410156 220.914063 243.410156 224.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.394531 208.636719 C 266.394531 212.234375 260.996094 212.234375 260.996094 208.636719 C 260.996094 205.035156 266.394531 205.035156 266.394531 208.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.269531 198.050781 C 281.269531 201.652344 275.867188 201.652344 275.867188 198.050781 C 275.867188 194.453125 281.269531 194.453125 281.269531 198.050781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.636719 178.644531 C 307.636719 182.246094 302.234375 182.246094 302.234375 178.644531 C 302.234375 175.046875 307.636719 175.046875 307.636719 178.644531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 329.269531 162.769531 C 329.269531 166.371094 323.867188 166.371094 323.867188 162.769531 C 323.867188 159.167969 329.269531 159.167969 329.269531 162.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 350.226563 146.890625 C 350.226563 150.492188 344.828125 150.492188 344.828125 146.890625 C 344.828125 143.292969 350.226563 143.292969 350.226563 146.890625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.101563 136.308594 C 365.101563 139.90625 359.699219 139.90625 359.699219 136.308594 C 359.699219 132.707031 365.101563 132.707031 365.101563 136.308594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 389.4375 120.429688 C 389.4375 124.03125 384.039063 124.03125 384.039063 120.429688 C 384.039063 116.832031 389.4375 116.832031 389.4375 120.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.425781 104.554688 C 412.425781 108.152344 407.023438 108.152344 407.023438 104.554688 C 407.023438 100.953125 412.425781 100.953125 412.425781 104.554688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 440.816406 86.914063 C 440.816406 90.511719 435.417969 90.511719 435.417969 86.914063 C 435.417969 83.3125 440.816406 83.3125 440.816406 86.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.230469 430.558594 L 453.21875 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.230469 430.558594 L 142.230469 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 245.894531 430.558594 L 245.894531 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 349.554688 430.558594 L 349.554688 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.21875 430.558594 L 453.21875 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="138.894531" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="242.558594" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="346.21875" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-4" x="449.882813" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 414.59375 L 59.039063 104.996094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 414.59375 L 51.839844 414.59375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 362.996094 L 51.839844 362.996094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 311.394531 L 51.839844 311.394531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 259.792969 L 51.839844 259.792969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 208.195313 L 51.839844 208.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 156.59375 L 51.839844 156.59375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 104.996094 L 51.839844 104.996094 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="417.929688"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="41.761719" y="366.332031"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="41.761719" y="314.730469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="41.761719" y="263.128906"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="41.761719" y="211.53125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="41.761719" y="159.929688"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="108.332031"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="176.5625" y="34.675781"/> + <use xlink:href="#glyph2-2" x="186.961719" y="34.675781"/> + <use xlink:href="#glyph2-3" x="195.757813" y="34.675781"/> + <use xlink:href="#glyph2-4" x="203.766406" y="34.675781"/> + <use xlink:href="#glyph2-5" x="211.775" y="34.675781"/> + <use xlink:href="#glyph2-6" x="217.378906" y="34.675781"/> + <use xlink:href="#glyph2-7" x="226.175" y="34.675781"/> + <use xlink:href="#glyph2-8" x="234.971094" y="34.675781"/> + <use xlink:href="#glyph2-9" x="242.979687" y="34.675781"/> + <use xlink:href="#glyph2-10" x="246.980469" y="34.675781"/> + <use xlink:href="#glyph2-11" x="255.776562" y="34.675781"/> + <use xlink:href="#glyph2-12" x="263.785156" y="34.675781"/> + <use xlink:href="#glyph2-12" x="268.580469" y="34.675781"/> + <use xlink:href="#glyph2-13" x="273.375781" y="34.675781"/> + <use xlink:href="#glyph2-3" x="277.376563" y="34.675781"/> + <use xlink:href="#glyph2-8" x="285.385156" y="34.675781"/> + <use xlink:href="#glyph2-9" x="293.39375" y="34.675781"/> + <use xlink:href="#glyph2-14" x="297.394531" y="34.675781"/> + <use xlink:href="#glyph2-9" x="306.999219" y="34.675781"/> + <use xlink:href="#glyph2-15" x="311" y="34.675781"/> + <use xlink:href="#glyph2-9" x="319.409375" y="34.675781"/> + <use xlink:href="#glyph2-16" x="323.410156" y="34.675781"/> + <use xlink:href="#glyph2-17" x="331.41875" y="34.675781"/> + <use xlink:href="#glyph2-9" x="339.427344" y="34.675781"/> + <use xlink:href="#glyph2-18" x="343.428125" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="260.726563" y="485.28125"/> + <use xlink:href="#glyph0-6" x="267.400391" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-9" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-11" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-12" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-13" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-11" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-9" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 356.820313 C 77.101563 360.421875 71.699219 360.421875 71.699219 356.820313 C 71.699219 353.21875 77.101563 353.21875 77.101563 356.820313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.605469 328.59375 C 113.605469 332.195313 108.207031 332.195313 108.207031 328.59375 C 108.207031 324.996094 113.605469 324.996094 113.605469 328.59375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.566406 310.953125 C 134.566406 314.554688 129.164063 314.554688 129.164063 310.953125 C 129.164063 307.355469 134.566406 307.355469 134.566406 310.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.875 293.3125 C 156.875 296.914063 151.476563 296.914063 151.476563 293.3125 C 151.476563 289.710938 156.875 289.710938 156.875 293.3125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.761719 261.558594 C 196.761719 265.160156 191.363281 265.160156 191.363281 261.558594 C 191.363281 257.957031 196.761719 257.957031 196.761719 261.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.070313 243.917969 C 219.070313 247.519531 213.671875 247.519531 213.671875 243.917969 C 213.671875 240.316406 219.070313 240.316406 219.070313 243.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 243.410156 224.511719 C 243.410156 228.113281 238.011719 228.113281 238.011719 224.511719 C 238.011719 220.914063 243.410156 220.914063 243.410156 224.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.394531 208.636719 C 266.394531 212.234375 260.996094 212.234375 260.996094 208.636719 C 260.996094 205.035156 266.394531 205.035156 266.394531 208.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.269531 198.050781 C 281.269531 201.652344 275.867188 201.652344 275.867188 198.050781 C 275.867188 194.453125 281.269531 194.453125 281.269531 198.050781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.636719 178.644531 C 307.636719 182.246094 302.234375 182.246094 302.234375 178.644531 C 302.234375 175.046875 307.636719 175.046875 307.636719 178.644531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 329.269531 162.769531 C 329.269531 166.371094 323.867188 166.371094 323.867188 162.769531 C 323.867188 159.167969 329.269531 159.167969 329.269531 162.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 350.226563 146.890625 C 350.226563 150.492188 344.828125 150.492188 344.828125 146.890625 C 344.828125 143.292969 350.226563 143.292969 350.226563 146.890625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.101563 136.308594 C 365.101563 139.90625 359.699219 139.90625 359.699219 136.308594 C 359.699219 132.707031 365.101563 132.707031 365.101563 136.308594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 389.4375 120.429688 C 389.4375 124.03125 384.039063 124.03125 384.039063 120.429688 C 384.039063 116.832031 389.4375 116.832031 389.4375 120.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.425781 104.554688 C 412.425781 108.152344 407.023438 108.152344 407.023438 104.554688 C 407.023438 100.953125 412.425781 100.953125 412.425781 104.554688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 440.816406 86.914063 C 440.816406 90.511719 435.417969 90.511719 435.417969 86.914063 C 435.417969 83.3125 440.816406 83.3125 440.816406 86.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 357.878906 L 78.238281 354.671875 L 82.078125 351.472656 L 85.921875 348.285156 L 89.761719 345.097656 L 93.601563 341.921875 L 97.441406 338.753906 L 101.28125 335.589844 L 105.121094 332.433594 L 112.800781 326.144531 L 116.640625 323.011719 L 120.480469 319.886719 L 124.320313 316.765625 L 128.160156 313.652344 L 132 310.546875 L 135.839844 307.449219 L 139.679688 304.359375 L 143.519531 301.273438 L 147.359375 298.199219 L 151.199219 295.128906 L 155.039063 292.066406 L 158.878906 289.011719 L 162.71875 285.960938 L 166.558594 282.921875 L 170.398438 279.886719 L 174.238281 276.859375 L 178.078125 273.839844 L 181.921875 270.828125 L 185.761719 267.824219 L 189.601563 264.824219 L 193.441406 261.835938 L 197.28125 258.851563 L 201.121094 255.875 L 204.960938 252.90625 L 208.800781 249.941406 L 212.640625 246.988281 L 216.480469 244.039063 L 220.320313 241.097656 L 224.160156 238.164063 L 228 235.238281 L 231.839844 232.316406 L 235.679688 229.40625 L 239.519531 226.5 L 243.359375 223.601563 L 247.199219 220.710938 L 251.039063 217.828125 L 254.878906 214.949219 L 258.71875 212.082031 L 262.558594 209.21875 L 266.398438 206.363281 L 270.238281 203.515625 L 274.078125 200.675781 L 277.921875 197.839844 L 281.761719 195.015625 L 285.601563 192.195313 L 289.441406 189.382813 L 293.28125 186.578125 L 297.121094 183.777344 L 300.960938 180.988281 L 304.800781 178.203125 L 308.640625 175.429688 L 312.480469 172.660156 L 316.320313 169.894531 L 320.160156 167.140625 L 324 164.394531 L 327.839844 161.652344 L 331.679688 158.917969 L 335.519531 156.191406 L 339.359375 153.472656 L 343.199219 150.757813 L 347.039063 148.054688 L 350.878906 145.355469 L 354.71875 142.664063 L 358.558594 139.980469 L 362.398438 137.304688 L 366.238281 134.636719 L 370.078125 131.972656 L 373.921875 129.316406 L 377.761719 126.671875 L 381.601563 124.03125 L 385.441406 121.394531 L 389.28125 118.769531 L 393.121094 116.148438 L 396.960938 113.539063 L 400.800781 110.933594 L 404.640625 108.335938 L 408.480469 105.742188 L 412.320313 103.160156 L 416.160156 100.582031 L 420 98.015625 L 423.839844 95.453125 L 427.679688 92.894531 L 431.519531 90.347656 L 435.359375 87.808594 L 439.199219 85.273438 L 443.039063 82.746094 L 446.878906 80.226563 L 450.71875 77.714844 L 454.558594 75.210938 L 458.398438 72.710938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.511719 402.6875 L 97.148438 402.6875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.328125 406.503906 L 93.328125 398.867188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.355469 395.628906 L 109.992188 395.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.175781 399.449219 L 106.175781 391.8125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 117.90625 385.046875 L 125.542969 385.046875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.722656 388.863281 L 121.722656 381.226563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 135.484375 374.460938 L 143.121094 374.460938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.300781 378.28125 L 139.300781 370.644531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.679688 365.640625 L 157.316406 365.640625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.5 369.460938 L 153.5 361.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 163.878906 356.820313 L 171.515625 356.820313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 167.695313 360.640625 L 167.695313 353.003906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 177.398438 349.765625 L 185.035156 349.765625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.21875 353.582031 L 181.21875 345.945313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.597656 342.707031 L 199.234375 342.707031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.414063 346.527344 L 195.414063 338.890625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.46875 333.886719 L 214.105469 333.886719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.289063 337.707031 L 210.289063 330.070313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 228.777344 321.539063 L 236.414063 321.539063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 232.597656 325.355469 L 232.597656 317.71875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 248.382813 310.953125 L 256.019531 310.953125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.203125 314.773438 L 252.203125 307.136719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 262.582031 303.898438 L 270.21875 303.898438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.398438 307.714844 L 266.398438 300.078125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.511719 293.3125 L 289.148438 293.3125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 285.328125 297.132813 L 285.328125 289.496094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 301.792969 284.492188 L 309.429688 284.492188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 305.609375 288.3125 L 305.609375 280.675781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 323.425781 272.144531 L 331.0625 272.144531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 327.246094 275.960938 L 327.246094 268.324219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.003906 266.851563 L 348.640625 266.851563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.824219 270.667969 L 344.824219 263.03125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 358.582031 258.03125 L 366.21875 258.03125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.398438 261.847656 L 362.398438 254.210938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 375.484375 250.972656 L 383.121094 250.972656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 379.300781 254.792969 L 379.300781 247.15625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.792969 242.152344 L 405.429688 242.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401.609375 245.972656 L 401.609375 238.335938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 422.808594 231.570313 L 430.445313 231.570313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 426.625 235.386719 L 426.625 227.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.414063 224.511719 L 450.050781 224.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.230469 228.332031 L 446.230469 220.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 219.21875 L 462.21875 219.21875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 223.039063 L 458.398438 215.402344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.8125 L 78.238281 413.285156 L 82.078125 410.773438 L 85.921875 408.269531 L 89.761719 405.777344 L 93.601563 403.300781 L 97.441406 400.832031 L 101.28125 398.375 L 105.121094 395.929688 L 108.960938 393.496094 L 112.800781 391.074219 L 116.640625 388.664063 L 120.480469 386.261719 L 124.320313 383.875 L 128.160156 381.496094 L 132 379.132813 L 135.839844 376.777344 L 139.679688 374.4375 L 143.519531 372.105469 L 147.359375 369.785156 L 151.199219 367.476563 L 155.039063 365.179688 L 158.878906 362.894531 L 162.71875 360.621094 L 166.558594 358.355469 L 170.398438 356.105469 L 174.238281 353.867188 L 178.078125 351.636719 L 181.921875 349.421875 L 185.761719 347.214844 L 189.601563 345.019531 L 193.441406 342.835938 L 197.28125 340.667969 L 201.121094 338.507813 L 204.960938 336.359375 L 208.800781 334.21875 L 212.640625 332.09375 L 216.480469 329.980469 L 220.320313 327.878906 L 224.160156 325.785156 L 228 323.707031 L 231.839844 321.636719 L 235.679688 319.578125 L 239.519531 317.535156 L 243.359375 315.5 L 247.199219 313.476563 L 251.039063 311.464844 L 254.878906 309.464844 L 258.71875 307.476563 L 262.558594 305.496094 L 266.398438 303.53125 L 270.238281 301.578125 L 274.078125 299.632813 L 277.921875 297.703125 L 281.761719 295.78125 L 285.601563 293.871094 L 289.441406 291.972656 L 293.28125 290.089844 L 297.121094 288.214844 L 300.960938 286.351563 L 304.800781 284.496094 L 308.640625 282.65625 L 312.480469 280.828125 L 316.320313 279.011719 L 320.160156 277.203125 L 324 275.410156 L 327.839844 273.625 L 331.679688 271.851563 L 335.519531 270.09375 L 339.359375 268.34375 L 343.199219 266.605469 L 347.039063 264.878906 L 350.878906 263.164063 L 354.71875 261.460938 L 358.558594 259.769531 L 362.398438 258.085938 L 366.238281 256.417969 L 370.078125 254.757813 L 373.921875 253.113281 L 377.761719 251.476563 L 381.601563 249.855469 L 385.441406 248.242188 L 389.28125 246.640625 L 393.121094 245.050781 L 396.960938 243.472656 L 400.800781 241.90625 L 404.640625 240.351563 L 408.480469 238.804688 L 412.320313 237.273438 L 416.160156 235.753906 L 420 234.242188 L 423.839844 232.746094 L 427.679688 231.257813 L 431.519531 229.78125 L 435.359375 228.316406 L 439.199219 226.863281 L 443.039063 225.425781 L 446.878906 223.992188 L 450.71875 222.574219 L 454.558594 221.167969 L 458.398438 219.773438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-8" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-9" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-8" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-8" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-9" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-8" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-10" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-11" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-10" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-12" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-10" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-13" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-14" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-13" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-15" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-1" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-3" x="338.03125" y="346.695313"/> + <use xlink:href="#glyph0-5" x="344.705078" y="346.695313"/> + <use xlink:href="#glyph0-6" x="351.378906" y="346.695313"/> + <use xlink:href="#glyph0-16" x="356.048828" y="346.695313"/> + <use xlink:href="#glyph0-1" x="361.679688" y="346.695313"/> + <use xlink:href="#glyph0-10" x="368.353516" y="346.695313"/> + <use xlink:href="#glyph0-17" x="371.6875" y="346.695313"/> + <use xlink:href="#glyph0-10" x="378.695313" y="346.695313"/> + <use xlink:href="#glyph0-13" x="382.029297" y="346.695313"/> + <use xlink:href="#glyph0-14" x="388.703125" y="346.695313"/> + <use xlink:href="#glyph0-4" x="392.037109" y="346.695313"/> + <use xlink:href="#glyph0-18" x="398.710938" y="346.695313"/> + <use xlink:href="#glyph0-19" x="405.384766" y="346.695313"/> + <use xlink:href="#glyph0-5" x="412.058594" y="346.695313"/> + <use xlink:href="#glyph0-6" x="418.732422" y="346.695313"/> + <use xlink:href="#glyph0-10" x="423.402344" y="346.695313"/> + <use xlink:href="#glyph0-17" x="426.736328" y="346.695313"/> + <use xlink:href="#glyph0-10" x="433.744141" y="346.695313"/> + <use xlink:href="#glyph0-15" x="437.078125" y="346.695313"/> + <use xlink:href="#glyph0-14" x="443.751953" y="346.695313"/> + <use xlink:href="#glyph0-18" x="447.085938" y="346.695313"/> + <use xlink:href="#glyph0-15" x="453.759766" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-9" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-8" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-9" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-8" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-10" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-11" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-10" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-12" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-10" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-13" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-14" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-13" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-1" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-13" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-15" x="331.357422" y="375.496094"/> + <use xlink:href="#glyph0-5" x="338.03125" y="375.496094"/> + <use xlink:href="#glyph0-6" x="344.705078" y="375.496094"/> + <use xlink:href="#glyph0-16" x="349.375" y="375.496094"/> + <use xlink:href="#glyph0-1" x="355.005859" y="375.496094"/> + <use xlink:href="#glyph0-10" x="361.679688" y="375.496094"/> + <use xlink:href="#glyph0-17" x="365.013672" y="375.496094"/> + <use xlink:href="#glyph0-10" x="372.021484" y="375.496094"/> + <use xlink:href="#glyph0-13" x="375.355469" y="375.496094"/> + <use xlink:href="#glyph0-14" x="382.029297" y="375.496094"/> + <use xlink:href="#glyph0-3" x="385.363281" y="375.496094"/> + <use xlink:href="#glyph0-20" x="392.037109" y="375.496094"/> + <use xlink:href="#glyph0-13" x="398.710938" y="375.496094"/> + <use xlink:href="#glyph0-5" x="405.384766" y="375.496094"/> + <use xlink:href="#glyph0-6" x="412.058594" y="375.496094"/> + <use xlink:href="#glyph0-10" x="416.728516" y="375.496094"/> + <use xlink:href="#glyph0-17" x="420.0625" y="375.496094"/> + <use xlink:href="#glyph0-10" x="427.070313" y="375.496094"/> + <use xlink:href="#glyph0-13" x="430.404297" y="375.496094"/> + <use xlink:href="#glyph0-14" x="437.078125" y="375.496094"/> + <use xlink:href="#glyph0-18" x="440.412109" y="375.496094"/> + <use xlink:href="#glyph0-13" x="447.085938" y="375.496094"/> + <use xlink:href="#glyph0-20" x="453.759766" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg new file mode 100644 index 000000000..7138f949a --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg @@ -0,0 +1,459 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.644531 402.128906 C 89.644531 405.730469 84.242188 405.730469 84.242188 402.128906 C 84.242188 398.53125 89.644531 398.53125 89.644531 402.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.539063 388.683594 C 104.539063 392.285156 99.140625 392.285156 99.140625 388.683594 C 99.140625 385.082031 104.539063 385.082031 104.539063 388.683594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.042969 375.238281 C 119.042969 378.835938 113.644531 378.835938 113.644531 375.238281 C 113.644531 371.636719 119.042969 371.636719 119.042969 375.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.347656 352.007813 C 143.347656 355.609375 137.949219 355.609375 137.949219 352.007813 C 137.949219 348.410156 143.347656 348.410156 143.347656 352.007813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.59375 336.117188 C 160.59375 339.71875 155.195313 339.71875 155.195313 336.117188 C 155.195313 332.519531 160.59375 332.519531 160.59375 336.117188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.492188 321.449219 C 175.492188 325.046875 170.089844 325.046875 170.089844 321.449219 C 170.089844 317.847656 175.492188 317.847656 175.492188 321.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.601563 308 C 189.601563 311.601563 184.203125 311.601563 184.203125 308 C 184.203125 304.402344 189.601563 304.402344 189.601563 308 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.457031 292.109375 C 206.457031 295.710938 201.058594 295.710938 201.058594 292.109375 C 201.058594 288.507813 206.457031 288.507813 206.457031 292.109375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.609375 282.328125 C 218.609375 285.929688 213.210938 285.929688 213.210938 282.328125 C 213.210938 278.730469 218.609375 278.730469 218.609375 282.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 233.507813 268.882813 C 233.507813 272.484375 228.105469 272.484375 228.105469 268.882813 C 228.105469 265.28125 233.507813 265.28125 233.507813 268.882813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.875 259.101563 C 244.875 262.703125 239.472656 262.703125 239.472656 259.101563 C 239.472656 255.503906 244.875 255.503906 244.875 259.101563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.675781 249.324219 C 254.675781 252.921875 249.273438 252.921875 249.273438 249.324219 C 249.273438 245.722656 254.675781 245.722656 254.675781 249.324219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.347656 219.984375 C 290.347656 223.585938 284.945313 223.585938 284.945313 219.984375 C 284.945313 216.382813 290.347656 216.382813 290.347656 219.984375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 312.296875 204.09375 C 312.296875 207.691406 306.898438 207.691406 306.898438 204.09375 C 306.898438 200.492188 312.296875 200.492188 312.296875 204.09375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.378906 166.195313 C 357.378906 169.796875 351.976563 169.796875 351.976563 166.195313 C 351.976563 162.597656 357.378906 162.597656 357.378906 166.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.203125 130.746094 C 405.203125 134.34375 399.800781 134.34375 399.800781 130.746094 C 399.800781 127.144531 405.203125 127.144531 405.203125 130.746094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.164063 100.671875 C 444.164063 104.273438 438.765625 104.273438 438.765625 100.671875 C 438.765625 97.070313 444.164063 97.070313 444.164063 100.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 87.46875 C 461.101563 91.070313 455.699219 91.070313 455.699219 87.46875 C 455.699219 83.871094 461.101563 83.871094 461.101563 87.46875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.410156 430.558594 L 457.96875 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.410156 430.558594 L 67.410156 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.203125 430.558594 L 123.203125 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.996094 430.558594 L 178.996094 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.792969 430.558594 L 234.792969 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.585938 430.558594 L 290.585938 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.378906 430.558594 L 346.378906 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.175781 430.558594 L 402.175781 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 457.96875 430.558594 L 457.96875 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="55.730469" y="456.480469"/> + <use xlink:href="#glyph0-2" x="62.404297" y="456.480469"/> + <use xlink:href="#glyph0-1" x="65.738281" y="456.480469"/> + <use xlink:href="#glyph0-1" x="72.412109" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="111.523438" y="456.480469"/> + <use xlink:href="#glyph0-2" x="118.197266" y="456.480469"/> + <use xlink:href="#glyph0-1" x="121.53125" y="456.480469"/> + <use xlink:href="#glyph0-3" x="128.205078" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="167.316406" y="456.480469"/> + <use xlink:href="#glyph0-2" x="173.990234" y="456.480469"/> + <use xlink:href="#glyph0-4" x="177.324219" y="456.480469"/> + <use xlink:href="#glyph0-1" x="183.998047" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="223.113281" y="456.480469"/> + <use xlink:href="#glyph0-2" x="229.787109" y="456.480469"/> + <use xlink:href="#glyph0-4" x="233.121094" y="456.480469"/> + <use xlink:href="#glyph0-3" x="239.794922" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="278.90625" y="456.480469"/> + <use xlink:href="#glyph0-2" x="285.580078" y="456.480469"/> + <use xlink:href="#glyph0-5" x="288.914063" y="456.480469"/> + <use xlink:href="#glyph0-1" x="295.587891" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="334.699219" y="456.480469"/> + <use xlink:href="#glyph0-2" x="341.373047" y="456.480469"/> + <use xlink:href="#glyph0-5" x="344.707031" y="456.480469"/> + <use xlink:href="#glyph0-3" x="351.380859" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="390.496094" y="456.480469"/> + <use xlink:href="#glyph0-2" x="397.169922" y="456.480469"/> + <use xlink:href="#glyph0-6" x="400.503906" y="456.480469"/> + <use xlink:href="#glyph0-1" x="407.177734" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="446.289063" y="456.480469"/> + <use xlink:href="#glyph0-2" x="452.962891" y="456.480469"/> + <use xlink:href="#glyph0-6" x="456.296875" y="456.480469"/> + <use xlink:href="#glyph0-3" x="462.970703" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 380.328125 L 59.039063 69.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 380.328125 L 51.839844 380.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 318.1875 L 51.839844 318.1875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 256.046875 L 51.839844 256.046875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 193.90625 L 51.839844 193.90625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 131.761719 L 51.839844 131.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 69.621094 L 51.839844 69.621094 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="388.667969"/> + <use xlink:href="#glyph1-2" x="41.761719" y="381.994141"/> + <use xlink:href="#glyph1-3" x="41.761719" y="378.660156"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="326.527344"/> + <use xlink:href="#glyph1-2" x="41.761719" y="319.853516"/> + <use xlink:href="#glyph1-4" x="41.761719" y="316.519531"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="264.386719"/> + <use xlink:href="#glyph1-2" x="41.761719" y="257.712891"/> + <use xlink:href="#glyph1-5" x="41.761719" y="254.378906"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="41.761719" y="202.246094"/> + <use xlink:href="#glyph1-2" x="41.761719" y="195.572266"/> + <use xlink:href="#glyph1-1" x="41.761719" y="192.238281"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="41.761719" y="140.101563"/> + <use xlink:href="#glyph1-2" x="41.761719" y="133.427734"/> + <use xlink:href="#glyph1-7" x="41.761719" y="130.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="41.761719" y="77.960938"/> + <use xlink:href="#glyph1-2" x="41.761719" y="71.287109"/> + <use xlink:href="#glyph1-3" x="41.761719" y="67.953125"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="190.96875" y="34.675781"/> + <use xlink:href="#glyph2-2" x="199.764844" y="34.675781"/> + <use xlink:href="#glyph2-3" x="203.765625" y="34.675781"/> + <use xlink:href="#glyph2-4" x="211.774219" y="34.675781"/> + <use xlink:href="#glyph2-5" x="220.570313" y="34.675781"/> + <use xlink:href="#glyph2-6" x="228.578906" y="34.675781"/> + <use xlink:href="#glyph2-7" x="232.579687" y="34.675781"/> + <use xlink:href="#glyph2-3" x="241.375781" y="34.675781"/> + <use xlink:href="#glyph2-8" x="249.384375" y="34.675781"/> + <use xlink:href="#glyph2-8" x="254.179687" y="34.675781"/> + <use xlink:href="#glyph2-2" x="258.975" y="34.675781"/> + <use xlink:href="#glyph2-9" x="262.975781" y="34.675781"/> + <use xlink:href="#glyph2-5" x="270.984375" y="34.675781"/> + <use xlink:href="#glyph2-6" x="278.992969" y="34.675781"/> + <use xlink:href="#glyph2-10" x="282.99375" y="34.675781"/> + <use xlink:href="#glyph2-6" x="292.598437" y="34.675781"/> + <use xlink:href="#glyph2-11" x="296.599219" y="34.675781"/> + <use xlink:href="#glyph2-6" x="305.008594" y="34.675781"/> + <use xlink:href="#glyph2-12" x="309.009375" y="34.675781"/> + <use xlink:href="#glyph2-13" x="317.017969" y="34.675781"/> + <use xlink:href="#glyph2-6" x="325.026562" y="34.675781"/> + <use xlink:href="#glyph2-14" x="329.027344" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/> + <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.644531 402.128906 C 89.644531 405.730469 84.242188 405.730469 84.242188 402.128906 C 84.242188 398.53125 89.644531 398.53125 89.644531 402.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.539063 388.683594 C 104.539063 392.285156 99.140625 392.285156 99.140625 388.683594 C 99.140625 385.082031 104.539063 385.082031 104.539063 388.683594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.042969 375.238281 C 119.042969 378.835938 113.644531 378.835938 113.644531 375.238281 C 113.644531 371.636719 119.042969 371.636719 119.042969 375.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.347656 352.007813 C 143.347656 355.609375 137.949219 355.609375 137.949219 352.007813 C 137.949219 348.410156 143.347656 348.410156 143.347656 352.007813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.59375 336.117188 C 160.59375 339.71875 155.195313 339.71875 155.195313 336.117188 C 155.195313 332.519531 160.59375 332.519531 160.59375 336.117188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.492188 321.449219 C 175.492188 325.046875 170.089844 325.046875 170.089844 321.449219 C 170.089844 317.847656 175.492188 317.847656 175.492188 321.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.601563 308 C 189.601563 311.601563 184.203125 311.601563 184.203125 308 C 184.203125 304.402344 189.601563 304.402344 189.601563 308 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.457031 292.109375 C 206.457031 295.710938 201.058594 295.710938 201.058594 292.109375 C 201.058594 288.507813 206.457031 288.507813 206.457031 292.109375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.609375 282.328125 C 218.609375 285.929688 213.210938 285.929688 213.210938 282.328125 C 213.210938 278.730469 218.609375 278.730469 218.609375 282.328125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 233.507813 268.882813 C 233.507813 272.484375 228.105469 272.484375 228.105469 268.882813 C 228.105469 265.28125 233.507813 265.28125 233.507813 268.882813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.875 259.101563 C 244.875 262.703125 239.472656 262.703125 239.472656 259.101563 C 239.472656 255.503906 244.875 255.503906 244.875 259.101563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.675781 249.324219 C 254.675781 252.921875 249.273438 252.921875 249.273438 249.324219 C 249.273438 245.722656 254.675781 245.722656 254.675781 249.324219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.347656 219.984375 C 290.347656 223.585938 284.945313 223.585938 284.945313 219.984375 C 284.945313 216.382813 290.347656 216.382813 290.347656 219.984375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 312.296875 204.09375 C 312.296875 207.691406 306.898438 207.691406 306.898438 204.09375 C 306.898438 200.492188 312.296875 200.492188 312.296875 204.09375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.378906 166.195313 C 357.378906 169.796875 351.976563 169.796875 351.976563 166.195313 C 351.976563 162.597656 357.378906 162.597656 357.378906 166.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.203125 130.746094 C 405.203125 134.34375 399.800781 134.34375 399.800781 130.746094 C 399.800781 127.144531 405.203125 127.144531 405.203125 130.746094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.164063 100.671875 C 444.164063 104.273438 438.765625 104.273438 438.765625 100.671875 C 438.765625 97.070313 444.164063 97.070313 444.164063 100.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 87.46875 C 461.101563 91.070313 455.699219 91.070313 455.699219 87.46875 C 455.699219 83.871094 461.101563 83.871094 461.101563 87.46875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.859375 L 78.238281 412.035156 L 82.078125 408.222656 L 85.921875 404.421875 L 89.761719 400.632813 L 93.601563 396.855469 L 97.441406 393.089844 L 101.28125 389.332031 L 105.121094 385.585938 L 108.960938 381.851563 L 112.800781 378.128906 L 116.640625 374.417969 L 120.480469 370.71875 L 124.320313 367.027344 L 128.160156 363.351563 L 132 359.683594 L 135.839844 356.027344 L 139.679688 352.382813 L 143.519531 348.75 L 147.359375 345.125 L 151.199219 341.515625 L 155.039063 337.914063 L 158.878906 334.324219 L 162.71875 330.746094 L 166.558594 327.179688 L 170.398438 323.625 L 174.238281 320.078125 L 178.078125 316.542969 L 181.921875 313.023438 L 185.761719 309.511719 L 189.601563 306.011719 L 193.441406 302.519531 L 197.28125 299.042969 L 201.121094 295.578125 L 204.960938 292.121094 L 208.800781 288.675781 L 212.640625 285.242188 L 216.480469 281.820313 L 220.320313 278.410156 L 224.160156 275.007813 L 228 271.621094 L 231.839844 268.242188 L 235.679688 264.875 L 239.519531 261.519531 L 243.359375 258.175781 L 247.199219 254.839844 L 251.039063 251.519531 L 254.878906 248.207031 L 258.71875 244.90625 L 262.558594 241.617188 L 266.398438 238.339844 L 270.238281 235.074219 L 274.078125 231.816406 L 277.921875 228.574219 L 281.761719 225.339844 L 285.601563 222.117188 L 289.441406 218.90625 L 293.28125 215.707031 L 297.121094 212.519531 L 300.960938 209.339844 L 304.800781 206.171875 L 308.640625 203.019531 L 312.480469 199.875 L 316.320313 196.742188 L 320.160156 193.617188 L 324 190.507813 L 327.839844 187.40625 L 331.679688 184.320313 L 335.519531 181.242188 L 339.359375 178.175781 L 343.199219 175.121094 L 347.039063 172.074219 L 350.878906 169.042969 L 354.71875 166.019531 L 358.558594 163.007813 L 362.398438 160.007813 L 366.238281 157.019531 L 370.078125 154.042969 L 373.921875 151.078125 L 377.761719 148.121094 L 381.601563 145.179688 L 385.441406 142.246094 L 389.28125 139.324219 L 393.121094 136.414063 L 396.960938 133.511719 L 400.800781 130.625 L 404.640625 127.746094 L 408.480469 124.878906 L 412.320313 122.023438 L 416.160156 119.179688 L 420 116.347656 L 423.839844 113.527344 L 427.679688 110.714844 L 431.519531 107.917969 L 435.359375 105.128906 L 439.199219 102.351563 L 443.039063 99.585938 L 446.878906 96.828125 L 450.71875 94.085938 L 454.558594 91.351563 L 458.398438 88.632813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 71.207031 374.992188 L 78.84375 374.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.027344 378.808594 L 75.027344 371.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.082031 358.855469 L 96.71875 358.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.902344 362.671875 L 92.902344 355.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.820313 342.230469 L 115.457031 342.230469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 111.640625 346.046875 L 111.640625 338.410156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 135.261719 317.78125 L 142.898438 317.78125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.078125 321.597656 L 139.078125 313.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.683594 300.667969 L 161.320313 300.667969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 157.503906 304.484375 L 157.503906 296.847656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.957031 252.992188 L 216.59375 252.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 212.773438 256.808594 L 212.773438 249.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 227.378906 238.320313 L 235.015625 238.320313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.199219 242.140625 L 231.199219 234.503906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.820313 215.09375 L 262.457031 215.09375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 258.636719 218.914063 L 258.636719 211.277344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 273.242188 200.425781 L 280.878906 200.425781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.0625 204.242188 L 277.0625 196.605469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 319.890625 166.195313 L 327.527344 166.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 323.710938 170.015625 L 323.710938 162.378906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 347.722656 144.191406 L 355.359375 144.191406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 351.542969 148.011719 L 351.542969 140.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.570313 117.296875 L 392.207031 117.296875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.390625 121.117188 L 388.390625 113.480469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.714844 99.207031 L 420.351563 99.207031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416.535156 103.023438 L 416.535156 95.386719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 431.0625 84.535156 L 438.699219 84.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.878906 88.355469 L 434.878906 80.71875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 449.878906 72.800781 L 457.515625 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.695313 76.617188 L 453.695313 68.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.027344 375.523438 L 78.8125 371.980469 L 82.601563 368.453125 L 86.386719 364.933594 L 90.175781 361.421875 L 93.960938 357.921875 L 97.746094 354.433594 L 101.535156 350.957031 L 105.320313 347.488281 L 109.105469 344.03125 L 112.894531 340.582031 L 116.679688 337.148438 L 120.46875 333.71875 L 124.253906 330.304688 L 128.039063 326.898438 L 131.828125 323.503906 L 135.613281 320.117188 L 139.402344 316.742188 L 143.1875 313.378906 L 146.972656 310.027344 L 150.761719 306.683594 L 154.546875 303.347656 L 158.335938 300.027344 L 162.121094 296.714844 L 165.90625 293.414063 L 169.695313 290.121094 L 173.480469 286.839844 L 177.269531 283.570313 L 181.054688 280.308594 L 184.839844 277.058594 L 188.628906 273.820313 L 192.414063 270.589844 L 196.203125 267.371094 L 199.988281 264.164063 L 203.773438 260.964844 L 207.5625 257.777344 L 211.347656 254.601563 L 215.132813 251.433594 L 218.921875 248.277344 L 222.707031 245.132813 L 226.496094 241.996094 L 230.28125 238.871094 L 234.066406 235.753906 L 237.855469 232.648438 L 241.640625 229.554688 L 245.429688 226.472656 L 249.214844 223.398438 L 253 220.335938 L 256.789063 217.28125 L 260.574219 214.242188 L 264.363281 211.207031 L 268.148438 208.1875 L 271.933594 205.175781 L 275.722656 202.175781 L 279.507813 199.183594 L 283.296875 196.203125 L 287.082031 193.234375 L 290.867188 190.277344 L 294.65625 187.328125 L 298.441406 184.390625 L 302.226563 181.460938 L 306.015625 178.542969 L 309.800781 175.636719 L 313.589844 172.738281 L 317.375 169.851563 L 321.160156 166.976563 L 324.949219 164.109375 L 328.734375 161.253906 L 332.523438 158.410156 L 336.308594 155.574219 L 340.09375 152.75 L 343.882813 149.9375 L 347.667969 147.132813 L 351.457031 144.339844 L 355.242188 141.558594 L 359.027344 138.785156 L 362.816406 136.023438 L 366.601563 133.273438 L 370.390625 130.53125 L 374.175781 127.800781 L 377.960938 125.078125 L 381.75 122.371094 L 385.535156 119.667969 L 389.324219 116.980469 L 393.109375 114.300781 L 396.894531 111.632813 L 400.683594 108.976563 L 404.46875 106.328125 L 408.253906 103.691406 L 412.042969 101.0625 L 415.828125 98.445313 L 419.617188 95.839844 L 423.402344 93.246094 L 427.1875 90.660156 L 430.976563 88.082031 L 434.761719 85.519531 L 438.550781 82.964844 L 442.335938 80.421875 L 446.121094 77.886719 L 449.910156 75.363281 L 453.695313 72.851563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-4" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-3" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-4" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/> + <use xlink:href="#glyph0-16" x="345.361328" y="346.695313"/> + <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/> + <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/> + <use xlink:href="#glyph0-17" x="361" y="346.695313"/> + <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/> + <use xlink:href="#glyph0-6" x="371.341797" y="346.695313"/> + <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/> + <use xlink:href="#glyph0-18" x="381.349609" y="346.695313"/> + <use xlink:href="#glyph0-1" x="388.023438" y="346.695313"/> + <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/> + <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/> + <use xlink:href="#glyph0-17" x="412.035156" y="346.695313"/> + <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/> + <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/> + <use xlink:href="#glyph0-5" x="432.384766" y="346.695313"/> + <use xlink:href="#glyph0-18" x="439.058594" y="346.695313"/> + <use xlink:href="#glyph0-6" x="445.732422" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-4" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-19" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-3" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/> + <use xlink:href="#glyph0-16" x="338.6875" y="375.496094"/> + <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/> + <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/> + <use xlink:href="#glyph0-17" x="354.326172" y="375.496094"/> + <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/> + <use xlink:href="#glyph0-6" x="364.667969" y="375.496094"/> + <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/> + <use xlink:href="#glyph0-6" x="374.675781" y="375.496094"/> + <use xlink:href="#glyph0-20" x="381.349609" y="375.496094"/> + <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/> + <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/> + <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/> + <use xlink:href="#glyph0-17" x="405.361328" y="375.496094"/> + <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/> + <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/> + <use xlink:href="#glyph0-6" x="425.710938" y="375.496094"/> + <use xlink:href="#glyph0-21" x="432.384766" y="375.496094"/> + <use xlink:href="#glyph0-5" x="439.058594" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg b/docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg new file mode 100644 index 000000000..9b3ea6ead --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg @@ -0,0 +1,464 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-22"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 0.640625 -2.652344 L 2.609375 -2.855469 C 2.660156 -2.40625 2.828125 -2.054688 3.105469 -1.796875 C 3.382813 -1.535156 3.699219 -1.40625 4.0625 -1.40625 C 4.472656 -1.40625 4.824219 -1.570313 5.109375 -1.90625 C 5.394531 -2.238281 5.535156 -2.746094 5.539063 -3.425781 C 5.535156 -4.054688 5.394531 -4.527344 5.113281 -4.847656 C 4.828125 -5.160156 4.460938 -5.320313 4.007813 -5.324219 C 3.4375 -5.320313 2.925781 -5.070313 2.480469 -4.570313 L 0.878906 -4.800781 L 1.890625 -10.167969 L 7.117188 -10.167969 L 7.117188 -8.316406 L 3.390625 -8.316406 L 3.078125 -6.566406 C 3.515625 -6.785156 3.96875 -6.894531 4.429688 -6.898438 C 5.304688 -6.894531 6.046875 -6.578125 6.660156 -5.941406 C 7.265625 -5.300781 7.570313 -4.472656 7.574219 -3.460938 C 7.570313 -2.609375 7.324219 -1.851563 6.835938 -1.1875 C 6.160156 -0.277344 5.230469 0.175781 4.042969 0.175781 C 3.089844 0.175781 2.3125 -0.078125 1.714844 -0.589844 C 1.113281 -1.097656 0.753906 -1.785156 0.640625 -2.652344 Z M 0.640625 -2.652344 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface6"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 112.714844 373.152344 C 112.714844 376.75 107.316406 376.75 107.316406 373.152344 C 107.316406 369.550781 112.714844 369.550781 112.714844 373.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 146.710938 334.699219 C 146.710938 338.296875 141.3125 338.296875 141.3125 334.699219 C 141.3125 331.097656 146.710938 331.097656 146.710938 334.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 176.175781 303.519531 C 176.175781 307.117188 170.777344 307.117188 170.777344 303.519531 C 170.777344 299.917969 176.175781 299.917969 176.175781 303.519531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.546875 281.695313 C 197.546875 285.292969 192.144531 285.292969 192.144531 281.695313 C 192.144531 278.09375 197.546875 278.09375 197.546875 281.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.039063 253.632813 C 226.039063 257.234375 220.636719 257.234375 220.636719 253.632813 C 220.636719 250.035156 226.039063 250.035156 226.039063 253.632813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.710938 221.417969 C 259.710938 225.015625 254.308594 225.015625 254.308594 221.417969 C 254.308594 217.816406 259.710938 217.816406 259.710938 221.417969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.648438 190.238281 C 295.648438 193.839844 290.25 193.839844 290.25 190.238281 C 290.25 186.636719 295.648438 186.636719 295.648438 190.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.585938 136.195313 C 365.585938 139.796875 360.1875 139.796875 360.1875 136.195313 C 360.1875 132.597656 365.585938 132.597656 365.585938 136.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.496094 110.214844 C 402.496094 113.8125 397.097656 113.8125 397.097656 110.214844 C 397.097656 106.613281 402.496094 106.613281 402.496094 110.214844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 432.929688 91.507813 C 432.929688 95.105469 427.53125 95.105469 427.53125 91.507813 C 427.53125 87.90625 432.929688 87.90625 432.929688 91.507813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.277344 430.558594 L 458.722656 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.277344 430.558594 L 67.277344 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.199219 430.558594 L 123.199219 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 179.117188 430.558594 L 179.117188 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 235.039063 430.558594 L 235.039063 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.960938 430.558594 L 290.960938 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.882813 430.558594 L 346.882813 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.804688 430.558594 L 402.804688 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.722656 430.558594 L 458.722656 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="55.597656" y="456.480469"/> + <use xlink:href="#glyph0-2" x="62.271484" y="456.480469"/> + <use xlink:href="#glyph0-1" x="65.605469" y="456.480469"/> + <use xlink:href="#glyph0-1" x="72.279297" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="111.519531" y="456.480469"/> + <use xlink:href="#glyph0-2" x="118.193359" y="456.480469"/> + <use xlink:href="#glyph0-1" x="121.527344" y="456.480469"/> + <use xlink:href="#glyph0-3" x="128.201172" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="167.4375" y="456.480469"/> + <use xlink:href="#glyph0-2" x="174.111328" y="456.480469"/> + <use xlink:href="#glyph0-4" x="177.445313" y="456.480469"/> + <use xlink:href="#glyph0-1" x="184.119141" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="223.359375" y="456.480469"/> + <use xlink:href="#glyph0-2" x="230.033203" y="456.480469"/> + <use xlink:href="#glyph0-4" x="233.367188" y="456.480469"/> + <use xlink:href="#glyph0-3" x="240.041016" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="279.28125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="285.955078" y="456.480469"/> + <use xlink:href="#glyph0-5" x="289.289063" y="456.480469"/> + <use xlink:href="#glyph0-1" x="295.962891" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="335.203125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="341.876953" y="456.480469"/> + <use xlink:href="#glyph0-5" x="345.210938" y="456.480469"/> + <use xlink:href="#glyph0-3" x="351.884766" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="391.125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="397.798828" y="456.480469"/> + <use xlink:href="#glyph0-6" x="401.132813" y="456.480469"/> + <use xlink:href="#glyph0-1" x="407.806641" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="447.042969" y="456.480469"/> + <use xlink:href="#glyph0-2" x="453.716797" y="456.480469"/> + <use xlink:href="#glyph0-6" x="457.050781" y="456.480469"/> + <use xlink:href="#glyph0-3" x="463.724609" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 422.144531 L 59.039063 100.710938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 422.144531 L 51.839844 422.144531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 357.859375 L 51.839844 357.859375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 293.570313 L 51.839844 293.570313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 229.285156 L 51.839844 229.285156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 165 L 51.839844 165 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 100.710938 L 51.839844 100.710938 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="430.484375"/> + <use xlink:href="#glyph1-2" x="41.761719" y="423.810547"/> + <use xlink:href="#glyph1-3" x="41.761719" y="420.476563"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="366.199219"/> + <use xlink:href="#glyph1-2" x="41.761719" y="359.525391"/> + <use xlink:href="#glyph1-4" x="41.761719" y="356.191406"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="301.910156"/> + <use xlink:href="#glyph1-2" x="41.761719" y="295.236328"/> + <use xlink:href="#glyph1-5" x="41.761719" y="291.902344"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="237.625"/> + <use xlink:href="#glyph1-2" x="41.761719" y="230.951172"/> + <use xlink:href="#glyph1-6" x="41.761719" y="227.617188"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="173.339844"/> + <use xlink:href="#glyph1-2" x="41.761719" y="166.666016"/> + <use xlink:href="#glyph1-1" x="41.761719" y="163.332031"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="109.050781"/> + <use xlink:href="#glyph1-2" x="41.761719" y="102.376953"/> + <use xlink:href="#glyph1-3" x="41.761719" y="99.042969"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="190.96875" y="34.675781"/> + <use xlink:href="#glyph2-2" x="199.764844" y="34.675781"/> + <use xlink:href="#glyph2-3" x="203.765625" y="34.675781"/> + <use xlink:href="#glyph2-4" x="211.774219" y="34.675781"/> + <use xlink:href="#glyph2-5" x="220.570313" y="34.675781"/> + <use xlink:href="#glyph2-6" x="228.578906" y="34.675781"/> + <use xlink:href="#glyph2-7" x="232.579687" y="34.675781"/> + <use xlink:href="#glyph2-3" x="241.375781" y="34.675781"/> + <use xlink:href="#glyph2-8" x="249.384375" y="34.675781"/> + <use xlink:href="#glyph2-8" x="254.179687" y="34.675781"/> + <use xlink:href="#glyph2-2" x="258.975" y="34.675781"/> + <use xlink:href="#glyph2-9" x="262.975781" y="34.675781"/> + <use xlink:href="#glyph2-5" x="270.984375" y="34.675781"/> + <use xlink:href="#glyph2-6" x="278.992969" y="34.675781"/> + <use xlink:href="#glyph2-10" x="282.99375" y="34.675781"/> + <use xlink:href="#glyph2-6" x="292.598437" y="34.675781"/> + <use xlink:href="#glyph2-11" x="296.599219" y="34.675781"/> + <use xlink:href="#glyph2-6" x="305.008594" y="34.675781"/> + <use xlink:href="#glyph2-12" x="309.009375" y="34.675781"/> + <use xlink:href="#glyph2-13" x="317.017969" y="34.675781"/> + <use xlink:href="#glyph2-6" x="325.026562" y="34.675781"/> + <use xlink:href="#glyph2-14" x="329.027344" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/> + <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 112.714844 373.152344 C 112.714844 376.75 107.316406 376.75 107.316406 373.152344 C 107.316406 369.550781 112.714844 369.550781 112.714844 373.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 146.710938 334.699219 C 146.710938 338.296875 141.3125 338.296875 141.3125 334.699219 C 141.3125 331.097656 146.710938 331.097656 146.710938 334.699219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 176.175781 303.519531 C 176.175781 307.117188 170.777344 307.117188 170.777344 303.519531 C 170.777344 299.917969 176.175781 299.917969 176.175781 303.519531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.546875 281.695313 C 197.546875 285.292969 192.144531 285.292969 192.144531 281.695313 C 192.144531 278.09375 197.546875 278.09375 197.546875 281.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.039063 253.632813 C 226.039063 257.234375 220.636719 257.234375 220.636719 253.632813 C 220.636719 250.035156 226.039063 250.035156 226.039063 253.632813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.710938 221.417969 C 259.710938 225.015625 254.308594 225.015625 254.308594 221.417969 C 254.308594 217.816406 259.710938 217.816406 259.710938 221.417969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.648438 190.238281 C 295.648438 193.839844 290.25 193.839844 290.25 190.238281 C 290.25 186.636719 295.648438 186.636719 295.648438 190.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.585938 136.195313 C 365.585938 139.796875 360.1875 139.796875 360.1875 136.195313 C 360.1875 132.597656 365.585938 132.597656 365.585938 136.195313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.496094 110.214844 C 402.496094 113.8125 397.097656 113.8125 397.097656 110.214844 C 397.097656 106.613281 402.496094 106.613281 402.496094 110.214844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 432.929688 91.507813 C 432.929688 95.105469 427.53125 95.105469 427.53125 91.507813 C 427.53125 87.90625 432.929688 87.90625 432.929688 91.507813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.988281 L 78.238281 411.320313 L 82.078125 406.675781 L 85.921875 402.058594 L 89.761719 397.464844 L 93.601563 392.894531 L 97.441406 388.351563 L 101.28125 383.835938 L 105.121094 379.34375 L 108.960938 374.878906 L 112.800781 370.433594 L 116.640625 366.019531 L 120.480469 361.628906 L 124.320313 357.261719 L 128.160156 352.921875 L 132 348.605469 L 135.839844 344.316406 L 139.679688 340.050781 L 143.519531 335.8125 L 147.359375 331.597656 L 151.199219 327.40625 L 155.039063 323.242188 L 158.878906 319.105469 L 162.71875 314.992188 L 166.558594 310.902344 L 170.398438 306.839844 L 174.238281 302.800781 L 178.078125 298.789063 L 181.921875 294.800781 L 185.761719 290.839844 L 189.601563 286.902344 L 193.441406 282.992188 L 197.28125 279.105469 L 201.121094 275.242188 L 204.960938 271.410156 L 208.800781 267.597656 L 212.640625 263.8125 L 216.480469 260.050781 L 220.320313 256.316406 L 224.160156 252.609375 L 228 248.921875 L 231.839844 245.265625 L 235.679688 241.628906 L 239.519531 238.023438 L 243.359375 234.4375 L 247.199219 230.878906 L 251.039063 227.347656 L 254.878906 223.839844 L 258.71875 220.355469 L 262.558594 216.898438 L 266.398438 213.46875 L 270.238281 210.0625 L 274.078125 206.679688 L 277.921875 203.324219 L 281.761719 199.992188 L 285.601563 196.6875 L 289.441406 193.40625 L 293.28125 190.152344 L 297.121094 186.921875 L 300.960938 183.714844 L 304.800781 180.535156 L 308.640625 177.382813 L 312.480469 174.253906 L 316.320313 171.148438 L 320.160156 168.070313 L 324 165.019531 L 327.839844 161.988281 L 331.679688 158.988281 L 335.519531 156.007813 L 339.359375 153.058594 L 343.199219 150.128906 L 347.039063 147.226563 L 350.878906 144.351563 L 354.71875 141.5 L 358.558594 138.675781 L 362.398438 135.875 L 366.238281 133.097656 L 370.078125 130.347656 L 373.921875 127.621094 L 377.761719 124.921875 L 381.601563 122.246094 L 385.441406 119.597656 L 389.28125 116.972656 L 393.121094 114.375 L 396.960938 111.800781 L 400.800781 109.253906 L 404.640625 106.730469 L 408.480469 104.230469 L 412.320313 101.757813 L 416.160156 99.3125 L 420 96.890625 L 423.839844 94.492188 L 427.679688 92.121094 L 431.519531 89.773438 L 435.359375 87.453125 L 439.199219 85.15625 L 443.039063 82.886719 L 446.878906 80.640625 L 450.71875 78.421875 L 454.558594 76.226563 L 458.398438 74.054688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.886719 382.074219 L 78.523438 382.074219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.707031 385.890625 L 74.707031 378.253906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 81.171875 371.050781 L 88.808594 371.050781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.992188 374.867188 L 84.992188 367.230469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.890625 352.675781 L 106.527344 352.675781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.707031 356.492188 L 102.707031 348.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 116.605469 332.46875 L 124.242188 332.46875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 120.421875 336.289063 L 120.421875 328.652344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.320313 312.265625 L 141.957031 312.265625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 138.136719 316.082031 L 138.136719 308.445313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.175781 295.710938 L 160.8125 295.710938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.996094 299.53125 L 156.996094 291.894531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.890625 279.164063 L 178.527344 279.164063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.710938 282.984375 L 174.710938 275.347656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.179688 262.617188 L 196.816406 262.617188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 192.996094 266.433594 L 192.996094 258.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.464844 246.066406 L 215.101563 246.066406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 211.285156 249.886719 L 211.285156 242.25 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.324219 227.6875 L 233.960938 227.6875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.140625 231.503906 L 230.140625 223.867188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.039063 212.96875 L 251.675781 212.96875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 247.855469 216.789063 L 247.855469 209.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 262.894531 198.246094 L 270.53125 198.246094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.714844 202.066406 L 266.714844 194.429688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.753906 185.355469 L 289.390625 185.355469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 285.574219 189.171875 L 285.574219 181.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.898438 176.164063 L 298.535156 176.164063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 294.714844 179.984375 L 294.714844 172.347656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.039063 172.464844 L 307.679688 172.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 303.859375 176.28125 L 303.859375 168.644531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.042969 152.210938 L 335.679688 152.210938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.859375 156.027344 L 331.859375 148.390625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 337.1875 146.679688 L 344.824219 146.679688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.003906 150.496094 L 341.003906 142.859375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.042969 135.617188 L 363.679688 135.617188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 359.863281 139.433594 L 359.863281 131.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.902344 122.722656 L 382.539063 122.722656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.71875 126.539063 L 378.71875 118.902344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.757813 113.488281 L 401.394531 113.488281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.578125 117.304688 L 397.578125 109.667969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.617188 104.253906 L 420.253906 104.253906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416.4375 108.070313 L 416.4375 100.433594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 431.476563 95.019531 L 439.113281 95.019531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 435.292969 98.835938 L 435.292969 91.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 450.332031 85.785156 L 457.96875 85.785156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.152344 89.601563 L 454.152344 81.964844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.707031 382.585938 L 78.5 378.289063 L 82.292969 374.015625 L 86.089844 369.773438 L 89.882813 365.558594 L 93.679688 361.367188 L 97.472656 357.203125 L 101.265625 353.070313 L 105.0625 348.960938 L 108.855469 344.878906 L 112.652344 340.824219 L 116.445313 336.796875 L 120.238281 332.796875 L 124.035156 328.820313 L 127.828125 324.875 L 131.621094 320.953125 L 135.417969 317.0625 L 139.210938 313.195313 L 143.007813 309.355469 L 146.800781 305.542969 L 150.59375 301.757813 L 154.390625 298 L 158.183594 294.269531 L 161.976563 290.566406 L 165.773438 286.886719 L 169.566406 283.238281 L 173.363281 279.613281 L 177.15625 276.019531 L 180.949219 272.449219 L 184.746094 268.90625 L 188.539063 265.390625 L 192.335938 261.902344 L 196.128906 258.441406 L 199.921875 255.003906 L 203.71875 251.597656 L 207.511719 248.21875 L 211.304688 244.863281 L 215.101563 241.535156 L 218.894531 238.238281 L 222.691406 234.964844 L 226.484375 231.71875 L 230.277344 228.5 L 234.074219 225.308594 L 237.867188 222.140625 L 241.664063 219.003906 L 245.457031 215.894531 L 249.25 212.808594 L 253.046875 209.75 L 256.839844 206.722656 L 260.632813 203.71875 L 264.429688 200.742188 L 268.222656 197.792969 L 272.019531 194.871094 L 275.8125 191.972656 L 279.605469 189.105469 L 283.402344 186.265625 L 287.195313 183.449219 L 290.988281 180.664063 L 294.785156 177.902344 L 298.578125 175.167969 L 302.375 172.460938 L 306.167969 169.78125 L 309.960938 167.128906 L 313.757813 164.503906 L 317.550781 161.90625 L 321.347656 159.332031 L 325.140625 156.789063 L 328.933594 154.269531 L 332.730469 151.777344 L 336.523438 149.316406 L 340.316406 146.878906 L 344.113281 144.46875 L 347.90625 142.085938 L 351.703125 139.730469 L 355.496094 137.398438 L 359.289063 135.097656 L 363.085938 132.820313 L 366.878906 130.574219 L 370.675781 128.351563 L 374.46875 126.15625 L 378.261719 123.992188 L 382.058594 121.851563 L 385.851563 119.738281 L 389.644531 117.648438 L 393.441406 115.589844 L 397.234375 113.558594 L 401.03125 111.550781 L 404.824219 109.574219 L 408.617188 107.621094 L 412.414063 105.695313 L 416.207031 103.800781 L 420.003906 101.929688 L 423.796875 100.085938 L 427.589844 98.269531 L 431.386719 96.476563 L 435.179688 94.714844 L 438.972656 92.980469 L 442.769531 91.269531 L 446.5625 89.585938 L 450.359375 87.933594 L 454.152344 86.304688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-6" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-6" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-6" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/> + <use xlink:href="#glyph0-16" x="345.361328" y="346.695313"/> + <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/> + <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/> + <use xlink:href="#glyph0-17" x="361" y="346.695313"/> + <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/> + <use xlink:href="#glyph0-18" x="371.341797" y="346.695313"/> + <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/> + <use xlink:href="#glyph0-5" x="381.349609" y="346.695313"/> + <use xlink:href="#glyph0-19" x="388.023438" y="346.695313"/> + <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/> + <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/> + <use xlink:href="#glyph0-17" x="412.035156" y="346.695313"/> + <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/> + <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/> + <use xlink:href="#glyph0-4" x="432.384766" y="346.695313"/> + <use xlink:href="#glyph0-20" x="439.058594" y="346.695313"/> + <use xlink:href="#glyph0-5" x="445.732422" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-6" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-21" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-18" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/> + <use xlink:href="#glyph0-16" x="338.6875" y="375.496094"/> + <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/> + <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/> + <use xlink:href="#glyph0-17" x="354.326172" y="375.496094"/> + <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/> + <use xlink:href="#glyph0-18" x="364.667969" y="375.496094"/> + <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/> + <use xlink:href="#glyph0-1" x="374.675781" y="375.496094"/> + <use xlink:href="#glyph0-1" x="381.349609" y="375.496094"/> + <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/> + <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/> + <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/> + <use xlink:href="#glyph0-17" x="405.361328" y="375.496094"/> + <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/> + <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/> + <use xlink:href="#glyph0-5" x="425.710938" y="375.496094"/> + <use xlink:href="#glyph0-20" x="432.384766" y="375.496094"/> + <use xlink:href="#glyph0-22" x="439.058594" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg b/docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg new file mode 100644 index 000000000..0ae4eea08 --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg @@ -0,0 +1,495 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 7.285156 -1.835938 L 7.285156 0 L 0.359375 0 C 0.429688 -0.691406 0.65625 -1.347656 1.035156 -1.96875 C 1.40625 -2.589844 2.144531 -3.414063 3.253906 -4.445313 C 4.140625 -5.269531 4.6875 -5.832031 4.894531 -6.132813 C 5.160156 -6.535156 5.296875 -6.9375 5.300781 -7.339844 C 5.296875 -7.777344 5.179688 -8.117188 4.945313 -8.355469 C 4.707031 -8.589844 4.378906 -8.707031 3.964844 -8.710938 C 3.550781 -8.707031 3.222656 -8.582031 2.980469 -8.335938 C 2.734375 -8.085938 2.59375 -7.675781 2.558594 -7.101563 L 0.589844 -7.296875 C 0.703125 -8.382813 1.070313 -9.164063 1.691406 -9.640625 C 2.308594 -10.109375 3.082031 -10.347656 4.015625 -10.351563 C 5.027344 -10.347656 5.828125 -10.074219 6.410156 -9.527344 C 6.992188 -8.976563 7.28125 -8.292969 7.285156 -7.480469 C 7.28125 -7.015625 7.199219 -6.574219 7.035156 -6.15625 C 6.867188 -5.734375 6.601563 -5.292969 6.242188 -4.835938 C 6 -4.527344 5.570313 -4.089844 4.949219 -3.519531 C 4.324219 -2.945313 3.929688 -2.566406 3.765625 -2.382813 C 3.597656 -2.191406 3.460938 -2.007813 3.359375 -1.835938 Z M 7.285156 -1.835938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface11"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.890625 404.871094 C 84.890625 408.46875 79.492188 408.46875 79.492188 404.871094 C 79.492188 401.269531 84.890625 401.269531 84.890625 404.871094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.683594 396.914063 C 92.683594 400.515625 87.28125 400.515625 87.28125 396.914063 C 87.28125 393.316406 92.683594 393.316406 92.683594 396.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.03125 384.984375 C 101.03125 388.585938 95.628906 388.585938 95.628906 384.984375 C 95.628906 381.386719 101.03125 381.386719 101.03125 384.984375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.273438 371.066406 C 113.273438 374.664063 107.875 374.664063 107.875 371.066406 C 107.875 367.464844 113.273438 367.464844 113.273438 371.066406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.847656 357.148438 C 123.847656 360.746094 118.449219 360.746094 118.449219 357.148438 C 118.449219 353.546875 123.847656 353.546875 123.847656 357.148438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.753906 347.203125 C 132.753906 350.804688 127.351563 350.804688 127.351563 347.203125 C 127.351563 343.605469 132.753906 343.605469 132.753906 347.203125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.324219 335.273438 C 143.324219 338.875 137.925781 338.875 137.925781 335.273438 C 137.925781 331.675781 143.324219 331.675781 143.324219 335.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 155.011719 321.355469 C 155.011719 324.953125 149.613281 324.953125 149.613281 321.355469 C 149.613281 317.753906 155.011719 317.753906 155.011719 321.355469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.699219 307.4375 C 166.699219 311.035156 161.300781 311.035156 161.300781 307.4375 C 161.300781 303.835938 166.699219 303.835938 166.699219 307.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.167969 291.527344 C 181.167969 295.128906 175.769531 295.128906 175.769531 291.527344 C 175.769531 287.929688 181.167969 287.929688 181.167969 291.527344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.742188 283.574219 C 191.742188 287.175781 186.34375 287.175781 186.34375 283.574219 C 186.34375 279.972656 191.742188 279.972656 191.742188 283.574219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.875 269.65625 C 202.875 273.253906 197.472656 273.253906 197.472656 269.65625 C 197.472656 266.054688 202.875 266.054688 202.875 269.65625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 217.34375 257.726563 C 217.34375 261.324219 211.945313 261.324219 211.945313 257.726563 C 211.945313 254.125 217.34375 254.125 217.34375 257.726563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.246094 247.78125 C 226.246094 251.382813 220.847656 251.382813 220.847656 247.78125 C 220.847656 244.183594 226.246094 244.183594 226.246094 247.78125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.820313 235.851563 C 236.820313 239.453125 231.421875 239.453125 231.421875 235.851563 C 231.421875 232.253906 236.820313 232.253906 236.820313 235.851563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 251.292969 223.921875 C 251.292969 227.519531 245.890625 227.519531 245.890625 223.921875 C 245.890625 220.320313 251.292969 220.320313 251.292969 223.921875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261.863281 211.992188 C 261.863281 215.589844 256.464844 215.589844 256.464844 211.992188 C 256.464844 208.390625 261.863281 208.390625 261.863281 211.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.890625 200.058594 C 276.890625 203.660156 271.492188 203.660156 271.492188 200.058594 C 271.492188 196.460938 276.890625 196.460938 276.890625 200.058594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.691406 188.128906 C 289.691406 191.730469 284.292969 191.730469 284.292969 188.128906 C 284.292969 184.53125 289.691406 184.53125 289.691406 188.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 301.933594 180.175781 C 301.933594 183.777344 296.535156 183.777344 296.535156 180.175781 C 296.535156 176.574219 301.933594 176.574219 301.933594 180.175781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.074219 166.257813 C 318.074219 169.855469 312.675781 169.855469 312.675781 166.257813 C 312.675781 162.65625 318.074219 162.65625 318.074219 166.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.429688 154.324219 C 331.429688 157.925781 326.03125 157.925781 326.03125 154.324219 C 326.03125 150.726563 331.429688 150.726563 331.429688 154.324219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.785156 146.371094 C 344.785156 149.972656 339.386719 149.972656 339.386719 146.371094 C 339.386719 142.773438 344.785156 142.773438 344.785156 146.371094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 354.804688 138.417969 C 354.804688 142.019531 349.40625 142.019531 349.40625 138.417969 C 349.40625 134.820313 354.804688 134.820313 354.804688 138.417969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.046875 130.464844 C 367.046875 134.066406 361.648438 134.066406 361.648438 130.464844 C 361.648438 126.863281 367.046875 126.863281 367.046875 130.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.855469 118.535156 C 384.855469 122.132813 379.457031 122.132813 379.457031 118.535156 C 379.457031 114.933594 384.855469 114.933594 384.855469 118.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.324219 110.582031 C 399.324219 114.179688 393.925781 114.179688 393.925781 110.582031 C 393.925781 106.980469 399.324219 106.980469 399.324219 110.582031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.683594 100.636719 C 412.683594 104.238281 407.28125 104.238281 407.28125 100.636719 C 407.28125 97.039063 412.683594 97.039063 412.683594 100.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.492188 88.707031 C 430.492188 92.308594 425.089844 92.308594 425.089844 88.707031 C 425.089844 85.109375 430.492188 85.109375 430.492188 88.707031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.40625 82.742188 C 444.40625 86.34375 439.003906 86.34375 439.003906 82.742188 C 439.003906 79.140625 444.40625 79.140625 444.40625 82.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.609375 430.558594 L 458.957031 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.609375 430.558594 L 66.609375 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.660156 430.558594 L 122.660156 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.707031 430.558594 L 178.707031 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.757813 430.558594 L 234.757813 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.808594 430.558594 L 290.808594 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.855469 430.558594 L 346.855469 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.90625 430.558594 L 402.90625 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.957031 430.558594 L 458.957031 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="54.929688" y="456.480469"/> + <use xlink:href="#glyph0-2" x="61.603516" y="456.480469"/> + <use xlink:href="#glyph0-1" x="64.9375" y="456.480469"/> + <use xlink:href="#glyph0-1" x="71.611328" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="110.980469" y="456.480469"/> + <use xlink:href="#glyph0-2" x="117.654297" y="456.480469"/> + <use xlink:href="#glyph0-1" x="120.988281" y="456.480469"/> + <use xlink:href="#glyph0-3" x="127.662109" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="167.027344" y="456.480469"/> + <use xlink:href="#glyph0-2" x="173.701172" y="456.480469"/> + <use xlink:href="#glyph0-4" x="177.035156" y="456.480469"/> + <use xlink:href="#glyph0-1" x="183.708984" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="223.078125" y="456.480469"/> + <use xlink:href="#glyph0-2" x="229.751953" y="456.480469"/> + <use xlink:href="#glyph0-4" x="233.085938" y="456.480469"/> + <use xlink:href="#glyph0-3" x="239.759766" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="279.128906" y="456.480469"/> + <use xlink:href="#glyph0-2" x="285.802734" y="456.480469"/> + <use xlink:href="#glyph0-5" x="289.136719" y="456.480469"/> + <use xlink:href="#glyph0-1" x="295.810547" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="335.175781" y="456.480469"/> + <use xlink:href="#glyph0-2" x="341.849609" y="456.480469"/> + <use xlink:href="#glyph0-5" x="345.183594" y="456.480469"/> + <use xlink:href="#glyph0-3" x="351.857422" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="391.226563" y="456.480469"/> + <use xlink:href="#glyph0-2" x="397.900391" y="456.480469"/> + <use xlink:href="#glyph0-6" x="401.234375" y="456.480469"/> + <use xlink:href="#glyph0-1" x="407.908203" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="447.277344" y="456.480469"/> + <use xlink:href="#glyph0-2" x="453.951172" y="456.480469"/> + <use xlink:href="#glyph0-6" x="457.285156" y="456.480469"/> + <use xlink:href="#glyph0-3" x="463.958984" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 424.46875 L 59.039063 65.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 424.46875 L 51.839844 424.46875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 352.601563 L 51.839844 352.601563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 280.734375 L 51.839844 280.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 208.867188 L 51.839844 208.867188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 137 L 51.839844 137 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 65.128906 L 51.839844 65.128906 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="432.808594"/> + <use xlink:href="#glyph1-2" x="41.761719" y="426.134766"/> + <use xlink:href="#glyph1-3" x="41.761719" y="422.800781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="360.941406"/> + <use xlink:href="#glyph1-2" x="41.761719" y="354.267578"/> + <use xlink:href="#glyph1-4" x="41.761719" y="350.933594"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="289.074219"/> + <use xlink:href="#glyph1-2" x="41.761719" y="282.400391"/> + <use xlink:href="#glyph1-5" x="41.761719" y="279.066406"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="217.207031"/> + <use xlink:href="#glyph1-2" x="41.761719" y="210.533203"/> + <use xlink:href="#glyph1-6" x="41.761719" y="207.199219"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="145.339844"/> + <use xlink:href="#glyph1-2" x="41.761719" y="138.666016"/> + <use xlink:href="#glyph1-1" x="41.761719" y="135.332031"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="41.761719" y="73.46875"/> + <use xlink:href="#glyph1-2" x="41.761719" y="66.794922"/> + <use xlink:href="#glyph1-3" x="41.761719" y="63.460938"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="190.96875" y="34.675781"/> + <use xlink:href="#glyph2-2" x="199.764844" y="34.675781"/> + <use xlink:href="#glyph2-3" x="203.765625" y="34.675781"/> + <use xlink:href="#glyph2-4" x="211.774219" y="34.675781"/> + <use xlink:href="#glyph2-5" x="220.570313" y="34.675781"/> + <use xlink:href="#glyph2-6" x="228.578906" y="34.675781"/> + <use xlink:href="#glyph2-7" x="232.579687" y="34.675781"/> + <use xlink:href="#glyph2-3" x="241.375781" y="34.675781"/> + <use xlink:href="#glyph2-8" x="249.384375" y="34.675781"/> + <use xlink:href="#glyph2-8" x="254.179687" y="34.675781"/> + <use xlink:href="#glyph2-2" x="258.975" y="34.675781"/> + <use xlink:href="#glyph2-9" x="262.975781" y="34.675781"/> + <use xlink:href="#glyph2-5" x="270.984375" y="34.675781"/> + <use xlink:href="#glyph2-6" x="278.992969" y="34.675781"/> + <use xlink:href="#glyph2-10" x="282.99375" y="34.675781"/> + <use xlink:href="#glyph2-6" x="292.598437" y="34.675781"/> + <use xlink:href="#glyph2-11" x="296.599219" y="34.675781"/> + <use xlink:href="#glyph2-6" x="305.008594" y="34.675781"/> + <use xlink:href="#glyph2-12" x="309.009375" y="34.675781"/> + <use xlink:href="#glyph2-13" x="317.017969" y="34.675781"/> + <use xlink:href="#glyph2-6" x="325.026562" y="34.675781"/> + <use xlink:href="#glyph2-14" x="329.027344" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/> + <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.890625 404.871094 C 84.890625 408.46875 79.492188 408.46875 79.492188 404.871094 C 79.492188 401.269531 84.890625 401.269531 84.890625 404.871094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.683594 396.914063 C 92.683594 400.515625 87.28125 400.515625 87.28125 396.914063 C 87.28125 393.316406 92.683594 393.316406 92.683594 396.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.03125 384.984375 C 101.03125 388.585938 95.628906 388.585938 95.628906 384.984375 C 95.628906 381.386719 101.03125 381.386719 101.03125 384.984375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.273438 371.066406 C 113.273438 374.664063 107.875 374.664063 107.875 371.066406 C 107.875 367.464844 113.273438 367.464844 113.273438 371.066406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.847656 357.148438 C 123.847656 360.746094 118.449219 360.746094 118.449219 357.148438 C 118.449219 353.546875 123.847656 353.546875 123.847656 357.148438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.753906 347.203125 C 132.753906 350.804688 127.351563 350.804688 127.351563 347.203125 C 127.351563 343.605469 132.753906 343.605469 132.753906 347.203125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.324219 335.273438 C 143.324219 338.875 137.925781 338.875 137.925781 335.273438 C 137.925781 331.675781 143.324219 331.675781 143.324219 335.273438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 155.011719 321.355469 C 155.011719 324.953125 149.613281 324.953125 149.613281 321.355469 C 149.613281 317.753906 155.011719 317.753906 155.011719 321.355469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.699219 307.4375 C 166.699219 311.035156 161.300781 311.035156 161.300781 307.4375 C 161.300781 303.835938 166.699219 303.835938 166.699219 307.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.167969 291.527344 C 181.167969 295.128906 175.769531 295.128906 175.769531 291.527344 C 175.769531 287.929688 181.167969 287.929688 181.167969 291.527344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.742188 283.574219 C 191.742188 287.175781 186.34375 287.175781 186.34375 283.574219 C 186.34375 279.972656 191.742188 279.972656 191.742188 283.574219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.875 269.65625 C 202.875 273.253906 197.472656 273.253906 197.472656 269.65625 C 197.472656 266.054688 202.875 266.054688 202.875 269.65625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 217.34375 257.726563 C 217.34375 261.324219 211.945313 261.324219 211.945313 257.726563 C 211.945313 254.125 217.34375 254.125 217.34375 257.726563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.246094 247.78125 C 226.246094 251.382813 220.847656 251.382813 220.847656 247.78125 C 220.847656 244.183594 226.246094 244.183594 226.246094 247.78125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.820313 235.851563 C 236.820313 239.453125 231.421875 239.453125 231.421875 235.851563 C 231.421875 232.253906 236.820313 232.253906 236.820313 235.851563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 251.292969 223.921875 C 251.292969 227.519531 245.890625 227.519531 245.890625 223.921875 C 245.890625 220.320313 251.292969 220.320313 251.292969 223.921875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261.863281 211.992188 C 261.863281 215.589844 256.464844 215.589844 256.464844 211.992188 C 256.464844 208.390625 261.863281 208.390625 261.863281 211.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.890625 200.058594 C 276.890625 203.660156 271.492188 203.660156 271.492188 200.058594 C 271.492188 196.460938 276.890625 196.460938 276.890625 200.058594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.691406 188.128906 C 289.691406 191.730469 284.292969 191.730469 284.292969 188.128906 C 284.292969 184.53125 289.691406 184.53125 289.691406 188.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 301.933594 180.175781 C 301.933594 183.777344 296.535156 183.777344 296.535156 180.175781 C 296.535156 176.574219 301.933594 176.574219 301.933594 180.175781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.074219 166.257813 C 318.074219 169.855469 312.675781 169.855469 312.675781 166.257813 C 312.675781 162.65625 318.074219 162.65625 318.074219 166.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.429688 154.324219 C 331.429688 157.925781 326.03125 157.925781 326.03125 154.324219 C 326.03125 150.726563 331.429688 150.726563 331.429688 154.324219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.785156 146.371094 C 344.785156 149.972656 339.386719 149.972656 339.386719 146.371094 C 339.386719 142.773438 344.785156 142.773438 344.785156 146.371094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 354.804688 138.417969 C 354.804688 142.019531 349.40625 142.019531 349.40625 138.417969 C 349.40625 134.820313 354.804688 134.820313 354.804688 138.417969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.046875 130.464844 C 367.046875 134.066406 361.648438 134.066406 361.648438 130.464844 C 361.648438 126.863281 367.046875 126.863281 367.046875 130.464844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.855469 118.535156 C 384.855469 122.132813 379.457031 122.132813 379.457031 118.535156 C 379.457031 114.933594 384.855469 114.933594 384.855469 118.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.324219 110.582031 C 399.324219 114.179688 393.925781 114.179688 393.925781 110.582031 C 393.925781 106.980469 399.324219 106.980469 399.324219 110.582031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.683594 100.636719 C 412.683594 104.238281 407.28125 104.238281 407.28125 100.636719 C 407.28125 97.039063 412.683594 97.039063 412.683594 100.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.492188 88.707031 C 430.492188 92.308594 425.089844 92.308594 425.089844 88.707031 C 425.089844 85.109375 430.492188 85.109375 430.492188 88.707031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.40625 82.742188 C 444.40625 86.34375 439.003906 86.34375 439.003906 82.742188 C 439.003906 79.140625 444.40625 79.140625 444.40625 82.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.53125 L 78.238281 410.625 L 82.078125 405.746094 L 85.921875 400.898438 L 89.761719 396.082031 L 93.601563 391.296875 L 97.441406 386.539063 L 101.28125 381.8125 L 105.121094 377.113281 L 108.960938 372.449219 L 112.800781 367.8125 L 116.640625 363.207031 L 120.480469 358.628906 L 124.320313 354.082031 L 128.160156 349.566406 L 132 345.082031 L 135.839844 340.625 L 139.679688 336.199219 L 143.519531 331.804688 L 147.359375 327.441406 L 151.199219 323.105469 L 155.039063 318.800781 L 158.878906 314.527344 L 162.71875 310.28125 L 166.558594 306.066406 L 170.398438 301.882813 L 174.238281 297.726563 L 178.078125 293.605469 L 181.921875 289.511719 L 185.761719 285.445313 L 189.601563 281.414063 L 193.441406 277.410156 L 197.28125 273.4375 L 201.121094 269.492188 L 204.960938 265.582031 L 208.800781 261.699219 L 212.640625 257.84375 L 216.480469 254.023438 L 220.320313 250.230469 L 224.160156 246.46875 L 228 242.734375 L 231.839844 239.035156 L 235.679688 235.363281 L 239.519531 231.722656 L 243.359375 228.109375 L 247.199219 224.527344 L 251.039063 220.976563 L 254.878906 217.457031 L 258.71875 213.964844 L 262.558594 210.503906 L 266.398438 207.074219 L 270.238281 203.671875 L 274.078125 200.300781 L 277.921875 196.960938 L 281.761719 193.652344 L 285.601563 190.371094 L 289.441406 187.121094 L 293.28125 183.902344 L 297.121094 180.714844 L 300.960938 177.554688 L 304.800781 174.425781 L 308.640625 171.328125 L 312.480469 168.257813 L 316.320313 165.21875 L 320.160156 162.210938 L 324 159.230469 L 327.839844 156.285156 L 331.679688 153.367188 L 335.519531 150.476563 L 339.359375 147.621094 L 343.199219 144.792969 L 347.039063 141.996094 L 350.878906 139.226563 L 354.71875 136.488281 L 358.558594 133.78125 L 362.398438 131.105469 L 366.238281 128.457031 L 370.078125 125.84375 L 373.921875 123.253906 L 377.761719 120.699219 L 381.601563 118.171875 L 385.441406 115.675781 L 389.28125 113.210938 L 393.121094 110.777344 L 396.960938 108.371094 L 400.800781 105.996094 L 404.640625 103.648438 L 408.480469 101.332031 L 412.320313 99.046875 L 416.160156 96.792969 L 420 94.570313 L 423.839844 92.375 L 427.679688 90.210938 L 431.519531 88.074219 L 435.359375 85.972656 L 439.199219 83.898438 L 443.039063 81.855469 L 446.878906 79.839844 L 450.71875 77.855469 L 454.558594 75.902344 L 458.398438 73.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 382.996094 L 78.21875 382.996094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 386.816406 L 74.398438 379.179688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 88.945313 363.113281 L 96.582031 363.113281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.765625 366.929688 L 92.765625 359.292969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.3125 341.238281 L 114.949219 341.238281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 111.128906 345.058594 L 111.128906 337.421875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125.675781 319.367188 L 133.3125 319.367188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.496094 323.183594 L 129.496094 315.546875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152.945313 291.527344 L 160.582031 291.527344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.765625 295.347656 L 156.765625 287.710938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 171.3125 271.644531 L 178.949219 271.644531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.128906 275.460938 L 175.128906 267.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.121094 251.757813 L 196.757813 251.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 192.9375 255.578125 L 192.9375 247.941406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.042969 235.851563 L 215.679688 235.851563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 211.859375 239.671875 L 211.859375 232.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.964844 219.945313 L 234.601563 219.945313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.78125 223.761719 L 230.78125 216.125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 245.328125 204.035156 L 252.964844 204.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 249.148438 207.855469 L 249.148438 200.21875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 272.597656 182.164063 L 280.234375 182.164063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.417969 185.984375 L 276.417969 178.347656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 291.519531 166.257813 L 299.15625 166.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.339844 170.074219 L 295.339844 162.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 310.441406 154.324219 L 318.078125 154.324219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 314.261719 158.144531 L 314.261719 150.507813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.808594 142.394531 L 336.445313 142.394531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 332.625 146.214844 L 332.625 138.578125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 348.285156 132.453125 L 355.921875 132.453125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.105469 136.273438 L 352.105469 128.636719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.207031 120.523438 L 374.84375 120.523438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 371.027344 124.339844 L 371.027344 116.703125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 395.589844 104.613281 L 403.226563 104.613281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.410156 108.433594 L 399.410156 100.796875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.417969 92.683594 L 431.054688 92.683594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.234375 96.503906 L 427.234375 88.867188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.894531 84.730469 L 450.53125 84.730469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.714844 88.550781 L 446.714844 80.914063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 452.910156 82.742188 L 460.546875 82.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 456.730469 86.5625 L 456.730469 78.921875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 384.386719 L 78.222656 379.664063 L 82.046875 374.980469 L 85.871094 370.324219 L 89.691406 365.707031 L 93.515625 361.125 L 97.339844 356.574219 L 101.164063 352.058594 L 104.988281 347.578125 L 108.808594 343.128906 L 112.632813 338.71875 L 116.457031 334.339844 L 120.28125 329.996094 L 124.101563 325.683594 L 127.925781 321.410156 L 131.75 317.167969 L 135.574219 312.960938 L 139.394531 308.789063 L 143.21875 304.648438 L 147.042969 300.542969 L 150.867188 296.472656 L 154.6875 292.4375 L 158.511719 288.4375 L 162.335938 284.46875 L 166.160156 280.535156 L 169.984375 276.636719 L 173.804688 272.773438 L 177.628906 268.945313 L 181.453125 265.148438 L 185.277344 261.386719 L 189.097656 257.660156 L 192.921875 253.964844 L 196.746094 250.308594 L 200.570313 246.683594 L 204.390625 243.09375 L 208.214844 239.535156 L 212.039063 236.015625 L 215.863281 232.527344 L 219.6875 229.074219 L 223.507813 225.65625 L 227.332031 222.269531 L 231.15625 218.921875 L 234.980469 215.605469 L 238.800781 212.324219 L 242.625 209.074219 L 246.449219 205.863281 L 250.273438 202.683594 L 254.09375 199.539063 L 257.917969 196.429688 L 261.742188 193.351563 L 265.566406 190.308594 L 269.386719 187.300781 L 273.210938 184.328125 L 277.035156 181.390625 L 280.859375 178.484375 L 284.683594 175.613281 L 288.503906 172.777344 L 292.328125 169.976563 L 296.152344 167.210938 L 299.976563 164.476563 L 303.796875 161.777344 L 307.621094 159.113281 L 311.445313 156.480469 L 315.269531 153.886719 L 319.089844 151.324219 L 322.914063 148.796875 L 326.738281 146.300781 L 330.5625 143.84375 L 334.382813 141.417969 L 338.207031 139.027344 L 342.03125 136.671875 L 345.855469 134.347656 L 349.679688 132.0625 L 353.5 129.808594 L 357.324219 127.589844 L 361.148438 125.402344 L 364.972656 123.253906 L 368.792969 121.136719 L 372.617188 119.054688 L 376.441406 117.003906 L 380.265625 114.992188 L 384.085938 113.011719 L 387.910156 111.066406 L 391.734375 109.15625 L 395.558594 107.28125 L 399.382813 105.4375 L 403.203125 103.628906 L 407.027344 101.855469 L 410.851563 100.117188 L 414.675781 98.410156 L 418.496094 96.742188 L 422.320313 95.105469 L 426.144531 93.5 L 429.96875 91.933594 L 433.789063 90.398438 L 437.613281 88.898438 L 441.4375 87.433594 L 445.261719 86.003906 L 449.082031 84.605469 L 452.90625 83.246094 L 456.730469 81.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="332.292969"/> + <use xlink:href="#glyph0-10" x="270.314453" y="332.292969"/> + <use xlink:href="#glyph0-11" x="276.988281" y="332.292969"/> + <use xlink:href="#glyph0-12" x="280.322266" y="332.292969"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-6" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-3" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-16" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/> + <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/> + <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/> + <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/> + <use xlink:href="#glyph0-18" x="361" y="346.695313"/> + <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/> + <use xlink:href="#glyph0-19" x="371.341797" y="346.695313"/> + <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/> + <use xlink:href="#glyph0-1" x="381.349609" y="346.695313"/> + <use xlink:href="#glyph0-3" x="388.023438" y="346.695313"/> + <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/> + <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/> + <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/> + <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/> + <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/> + <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/> + <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/> + <use xlink:href="#glyph0-4" x="432.384766" y="346.695313"/> + <use xlink:href="#glyph0-20" x="439.058594" y="346.695313"/> + <use xlink:href="#glyph0-16" x="445.732422" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-19" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-4" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-1" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/> + <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/> + <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/> + <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/> + <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/> + <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/> + <use xlink:href="#glyph0-6" x="364.667969" y="375.496094"/> + <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/> + <use xlink:href="#glyph0-20" x="374.675781" y="375.496094"/> + <use xlink:href="#glyph0-5" x="381.349609" y="375.496094"/> + <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/> + <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/> + <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/> + <use xlink:href="#glyph0-18" x="405.361328" y="375.496094"/> + <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/> + <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/> + <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/> + <use xlink:href="#glyph0-5" x="425.710938" y="375.496094"/> + <use xlink:href="#glyph0-21" x="432.384766" y="375.496094"/> + <use xlink:href="#glyph0-19" x="439.058594" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg new file mode 100644 index 000000000..b115164fc --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg @@ -0,0 +1,451 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d="M 0.808594 -2.75 L 0.808594 -4.726563 L 4.691406 -4.726563 L 4.691406 -2.75 Z M 0.808594 -2.75 "/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 7.542969 -5.257813 L 5.597656 -4.90625 C 5.527344 -5.292969 5.378906 -5.585938 5.148438 -5.785156 C 4.914063 -5.980469 4.613281 -6.082031 4.246094 -6.082031 C 3.75 -6.082031 3.355469 -5.910156 3.066406 -5.570313 C 2.769531 -5.230469 2.625 -4.664063 2.628906 -3.867188 C 2.625 -2.980469 2.773438 -2.351563 3.074219 -1.988281 C 3.371094 -1.621094 3.769531 -1.441406 4.273438 -1.441406 C 4.644531 -1.441406 4.953125 -1.546875 5.195313 -1.761719 C 5.433594 -1.972656 5.601563 -2.339844 5.703125 -2.863281 L 7.644531 -2.53125 C 7.4375 -1.640625 7.050781 -0.964844 6.480469 -0.511719 C 5.910156 -0.0585938 5.144531 0.164063 4.183594 0.167969 C 3.089844 0.164063 2.21875 -0.175781 1.570313 -0.863281 C 0.921875 -1.550781 0.597656 -2.507813 0.597656 -3.726563 C 0.597656 -4.957031 0.921875 -5.914063 1.574219 -6.605469 C 2.222656 -7.289063 3.105469 -7.632813 4.21875 -7.636719 C 5.125 -7.632813 5.847656 -7.4375 6.386719 -7.046875 C 6.921875 -6.652344 7.304688 -6.054688 7.542969 -5.257813 Z M 7.542969 -5.257813 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 1.035156 -8.480469 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 -8.480469 Z M 1.035156 0 L 1.035156 -7.46875 L 3.007813 -7.46875 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-17"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-18"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-19"> +<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-20"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface31"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.375 C 77.101563 406.976563 71.699219 406.976563 71.699219 403.375 C 71.699219 399.777344 77.101563 399.777344 77.101563 403.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.023438 379.882813 C 99.023438 383.484375 93.625 383.484375 93.625 379.882813 C 93.625 376.28125 99.023438 376.28125 99.023438 379.882813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.304688 364.78125 C 114.304688 368.378906 108.902344 368.378906 108.902344 364.78125 C 108.902344 361.179688 114.304688 361.179688 114.304688 364.78125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 130.25 348 C 130.25 351.601563 124.847656 351.601563 124.847656 348 C 124.847656 344.398438 130.25 344.398438 130.25 348 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 150.179688 327.863281 C 150.179688 331.464844 144.78125 331.464844 144.78125 327.863281 C 144.78125 324.261719 150.179688 324.261719 150.179688 327.863281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.773438 307.726563 C 170.773438 311.328125 165.375 311.328125 165.375 307.726563 C 165.375 304.125 170.773438 304.125 170.773438 307.726563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.019531 282.554688 C 196.019531 286.15625 190.621094 286.15625 190.621094 282.554688 C 190.621094 278.957031 196.019531 278.957031 196.019531 282.554688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.9375 260.742188 C 219.9375 264.339844 214.539063 264.339844 214.539063 260.742188 C 214.539063 257.140625 219.9375 257.140625 219.9375 260.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 239.203125 243.960938 C 239.203125 247.5625 233.804688 247.5625 233.804688 243.960938 C 233.804688 240.359375 239.203125 240.359375 239.203125 243.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.8125 230.535156 C 255.8125 234.136719 250.414063 234.136719 250.414063 230.535156 C 250.414063 226.9375 255.8125 226.9375 255.8125 230.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.40625 212.078125 C 276.40625 215.679688 271.007813 215.679688 271.007813 212.078125 C 271.007813 208.476563 276.40625 208.476563 276.40625 212.078125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.660156 191.941406 C 299.660156 195.542969 294.261719 195.542969 294.261719 191.941406 C 294.261719 188.339844 299.660156 188.339844 299.660156 191.941406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.253906 175.160156 C 320.253906 178.761719 314.855469 178.761719 314.855469 175.160156 C 314.855469 171.5625 320.253906 171.5625 320.253906 175.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 340.851563 158.378906 C 340.851563 161.980469 335.449219 161.980469 335.449219 158.378906 C 335.449219 154.78125 340.851563 154.78125 340.851563 158.378906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.109375 143.277344 C 362.109375 146.878906 356.710938 146.878906 356.710938 143.277344 C 356.710938 139.679688 362.109375 139.679688 362.109375 143.277344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 383.371094 126.496094 C 383.371094 130.097656 377.96875 130.097656 377.96875 126.496094 C 377.96875 122.898438 383.371094 122.898438 383.371094 126.496094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.316406 114.75 C 399.316406 118.351563 393.914063 118.351563 393.914063 114.75 C 393.914063 111.152344 399.316406 111.152344 399.316406 114.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421.238281 99.648438 C 421.238281 103.25 415.839844 103.25 415.839844 99.648438 C 415.839844 96.046875 421.238281 96.046875 421.238281 99.648438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.164063 84.546875 C 443.164063 88.144531 437.761719 88.144531 437.761719 84.546875 C 437.761719 80.945313 443.164063 80.945313 443.164063 84.546875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.457031 430.558594 L 434.59375 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.457031 430.558594 L 121.457031 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 199.742188 430.558594 L 199.742188 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.027344 430.558594 L 278.027344 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.308594 430.558594 L 356.308594 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.59375 430.558594 L 434.59375 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="118.121094" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="196.40625" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="274.691406" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-4" x="352.972656" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="431.257813" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 395.824219 L 59.039063 64.410156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 395.824219 L 51.839844 395.824219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 329.542969 L 51.839844 329.542969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 263.257813 L 51.839844 263.257813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 196.976563 L 51.839844 196.976563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 130.691406 L 51.839844 130.691406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 64.410156 L 51.839844 64.410156 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="399.160156"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="41.761719" y="332.878906"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="41.761719" y="266.59375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="41.761719" y="200.3125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="41.761719" y="134.027344"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="41.761719" y="67.746094"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="166.554688" y="34.675781"/> + <use xlink:href="#glyph2-2" x="176.159375" y="34.675781"/> + <use xlink:href="#glyph2-3" x="184.955469" y="34.675781"/> + <use xlink:href="#glyph2-4" x="193.751563" y="34.675781"/> + <use xlink:href="#glyph2-5" x="201.760156" y="34.675781"/> + <use xlink:href="#glyph2-6" x="207.364063" y="34.675781"/> + <use xlink:href="#glyph2-7" x="212.159375" y="34.675781"/> + <use xlink:href="#glyph2-8" x="220.167969" y="34.675781"/> + <use xlink:href="#glyph2-9" x="228.176562" y="34.675781"/> + <use xlink:href="#glyph2-10" x="232.971875" y="34.675781"/> + <use xlink:href="#glyph2-11" x="236.972656" y="34.675781"/> + <use xlink:href="#glyph2-4" x="244.98125" y="34.675781"/> + <use xlink:href="#glyph2-12" x="252.989844" y="34.675781"/> + <use xlink:href="#glyph2-13" x="256.990625" y="34.675781"/> + <use xlink:href="#glyph2-7" x="265.786719" y="34.675781"/> + <use xlink:href="#glyph2-14" x="273.795312" y="34.675781"/> + <use xlink:href="#glyph2-14" x="278.590625" y="34.675781"/> + <use xlink:href="#glyph2-15" x="283.385938" y="34.675781"/> + <use xlink:href="#glyph2-4" x="287.386719" y="34.675781"/> + <use xlink:href="#glyph2-16" x="295.395312" y="34.675781"/> + <use xlink:href="#glyph2-12" x="303.403906" y="34.675781"/> + <use xlink:href="#glyph2-1" x="307.404687" y="34.675781"/> + <use xlink:href="#glyph2-12" x="317.009375" y="34.675781"/> + <use xlink:href="#glyph2-17" x="321.010156" y="34.675781"/> + <use xlink:href="#glyph2-12" x="329.419531" y="34.675781"/> + <use xlink:href="#glyph2-18" x="333.420312" y="34.675781"/> + <use xlink:href="#glyph2-19" x="341.428906" y="34.675781"/> + <use xlink:href="#glyph2-12" x="349.4375" y="34.675781"/> + <use xlink:href="#glyph2-20" x="353.438281" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="260.726563" y="485.28125"/> + <use xlink:href="#glyph0-7" x="267.400391" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-8" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-9" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-8" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-10" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-11" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-12" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-10" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-7" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-9" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-8" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.375 C 77.101563 406.976563 71.699219 406.976563 71.699219 403.375 C 71.699219 399.777344 77.101563 399.777344 77.101563 403.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.023438 379.882813 C 99.023438 383.484375 93.625 383.484375 93.625 379.882813 C 93.625 376.28125 99.023438 376.28125 99.023438 379.882813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.304688 364.78125 C 114.304688 368.378906 108.902344 368.378906 108.902344 364.78125 C 108.902344 361.179688 114.304688 361.179688 114.304688 364.78125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 130.25 348 C 130.25 351.601563 124.847656 351.601563 124.847656 348 C 124.847656 344.398438 130.25 344.398438 130.25 348 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 150.179688 327.863281 C 150.179688 331.464844 144.78125 331.464844 144.78125 327.863281 C 144.78125 324.261719 150.179688 324.261719 150.179688 327.863281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.773438 307.726563 C 170.773438 311.328125 165.375 311.328125 165.375 307.726563 C 165.375 304.125 170.773438 304.125 170.773438 307.726563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.019531 282.554688 C 196.019531 286.15625 190.621094 286.15625 190.621094 282.554688 C 190.621094 278.957031 196.019531 278.957031 196.019531 282.554688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.9375 260.742188 C 219.9375 264.339844 214.539063 264.339844 214.539063 260.742188 C 214.539063 257.140625 219.9375 257.140625 219.9375 260.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 239.203125 243.960938 C 239.203125 247.5625 233.804688 247.5625 233.804688 243.960938 C 233.804688 240.359375 239.203125 240.359375 239.203125 243.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.8125 230.535156 C 255.8125 234.136719 250.414063 234.136719 250.414063 230.535156 C 250.414063 226.9375 255.8125 226.9375 255.8125 230.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.40625 212.078125 C 276.40625 215.679688 271.007813 215.679688 271.007813 212.078125 C 271.007813 208.476563 276.40625 208.476563 276.40625 212.078125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.660156 191.941406 C 299.660156 195.542969 294.261719 195.542969 294.261719 191.941406 C 294.261719 188.339844 299.660156 188.339844 299.660156 191.941406 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.253906 175.160156 C 320.253906 178.761719 314.855469 178.761719 314.855469 175.160156 C 314.855469 171.5625 320.253906 171.5625 320.253906 175.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 340.851563 158.378906 C 340.851563 161.980469 335.449219 161.980469 335.449219 158.378906 C 335.449219 154.78125 340.851563 154.78125 340.851563 158.378906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.109375 143.277344 C 362.109375 146.878906 356.710938 146.878906 356.710938 143.277344 C 356.710938 139.679688 362.109375 139.679688 362.109375 143.277344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 383.371094 126.496094 C 383.371094 130.097656 377.96875 130.097656 377.96875 126.496094 C 377.96875 122.898438 383.371094 122.898438 383.371094 126.496094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.316406 114.75 C 399.316406 118.351563 393.914063 118.351563 393.914063 114.75 C 393.914063 111.152344 399.316406 111.152344 399.316406 114.75 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421.238281 99.648438 C 421.238281 103.25 415.839844 103.25 415.839844 99.648438 C 415.839844 96.046875 421.238281 96.046875 421.238281 99.648438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.164063 84.546875 C 443.164063 88.144531 437.761719 88.144531 437.761719 84.546875 C 437.761719 80.945313 443.164063 80.945313 443.164063 84.546875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 403.304688 L 78.238281 399.199219 L 82.078125 395.109375 L 85.921875 391.035156 L 89.761719 386.976563 L 93.601563 382.933594 L 97.441406 378.910156 L 101.28125 374.898438 L 105.121094 370.90625 L 108.960938 366.929688 L 112.800781 362.96875 L 116.640625 359.023438 L 120.480469 355.09375 L 124.320313 351.179688 L 128.160156 347.285156 L 132 343.40625 L 135.839844 339.542969 L 139.679688 335.695313 L 143.519531 331.863281 L 147.359375 328.046875 L 151.199219 324.25 L 155.039063 320.464844 L 158.878906 316.699219 L 162.71875 312.949219 L 166.558594 309.214844 L 170.398438 305.496094 L 174.238281 301.792969 L 178.078125 298.109375 L 181.921875 294.4375 L 185.761719 290.785156 L 189.601563 287.148438 L 193.441406 283.527344 L 197.28125 279.921875 L 201.121094 276.335938 L 204.960938 272.761719 L 208.800781 269.207031 L 212.640625 265.667969 L 216.480469 262.144531 L 220.320313 258.636719 L 224.160156 255.144531 L 228 251.667969 L 231.839844 248.210938 L 235.679688 244.769531 L 239.519531 241.339844 L 243.359375 237.929688 L 247.199219 234.539063 L 251.039063 231.160156 L 254.878906 227.796875 L 258.71875 224.453125 L 262.558594 221.121094 L 266.398438 217.808594 L 270.238281 214.511719 L 274.078125 211.230469 L 277.921875 207.96875 L 281.761719 204.71875 L 285.601563 201.488281 L 289.441406 198.269531 L 293.28125 195.070313 L 297.121094 191.886719 L 300.960938 188.71875 L 304.800781 185.570313 L 308.640625 182.433594 L 312.480469 179.316406 L 316.320313 176.214844 L 320.160156 173.125 L 324 170.058594 L 327.839844 167.003906 L 331.679688 163.964844 L 335.519531 160.945313 L 339.359375 157.9375 L 343.199219 154.949219 L 347.039063 151.976563 L 350.878906 149.019531 L 354.71875 146.078125 L 358.558594 143.152344 L 362.398438 140.246094 L 366.238281 137.355469 L 370.078125 134.476563 L 373.921875 131.617188 L 377.761719 128.773438 L 381.601563 125.949219 L 385.441406 123.136719 L 389.28125 120.34375 L 393.121094 117.5625 L 396.960938 114.800781 L 400.800781 112.054688 L 404.640625 109.324219 L 408.480469 106.609375 L 412.320313 103.914063 L 416.160156 101.230469 L 420 98.566406 L 423.839844 95.917969 L 427.679688 93.285156 L 431.519531 90.667969 L 435.359375 88.066406 L 439.199219 85.484375 L 443.039063 82.914063 L 446.878906 80.363281 L 450.71875 77.828125 L 454.558594 75.308594 L 458.398438 72.804688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.53125 398.339844 L 92.171875 398.339844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 88.351563 402.160156 L 88.351563 394.523438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 96.492188 384.917969 L 104.128906 384.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100.308594 388.734375 L 100.308594 381.097656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.078125 361.425781 L 126.714844 361.425781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.898438 365.242188 L 122.898438 357.605469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.367188 346.320313 L 140.003906 346.320313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 136.183594 350.140625 L 136.183594 342.503906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 148.976563 332.898438 L 156.613281 332.898438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152.792969 336.714844 L 152.792969 329.078125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.925781 319.472656 L 170.5625 319.472656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.746094 323.292969 L 166.746094 315.65625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 182.859375 304.371094 L 190.496094 304.371094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 186.675781 308.1875 L 186.675781 300.550781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.804688 289.269531 L 206.441406 289.269531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.621094 293.085938 L 202.621094 285.449219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216.742188 277.523438 L 224.378906 277.523438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 220.558594 281.339844 L 220.558594 273.703125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.679688 264.097656 L 242.316406 264.097656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.496094 267.914063 L 238.496094 260.277344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.9375 250.671875 L 263.574219 250.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.757813 254.492188 L 259.757813 246.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 269.890625 240.605469 L 277.527344 240.605469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 273.707031 244.421875 L 273.707031 236.785156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 284.503906 230.535156 L 292.140625 230.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288.324219 234.355469 L 288.324219 226.71875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.421875 213.757813 L 316.058594 213.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 312.242188 217.574219 L 312.242188 209.9375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 321.710938 205.367188 L 329.347656 205.367188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 325.527344 209.183594 L 325.527344 201.546875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.640625 193.621094 L 349.277344 193.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 345.457031 197.4375 L 345.457031 189.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.597656 185.230469 L 361.234375 185.230469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.417969 189.046875 L 357.417969 181.410156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.871094 173.484375 L 378.507813 173.484375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.691406 177.300781 L 374.691406 169.664063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 386.816406 163.414063 L 394.453125 163.414063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 390.636719 167.234375 L 390.636719 159.597656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 406.082031 151.667969 L 413.71875 151.667969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 409.902344 155.488281 L 409.902344 147.851563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.355469 139.921875 L 430.992188 139.921875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.175781 143.742188 L 427.175781 136.105469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 438.636719 129.855469 L 446.273438 129.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.457031 133.671875 L 442.457031 126.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 118.105469 L 462.21875 118.105469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 121.925781 L 458.398438 114.289063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 408.75 L 78.238281 405.027344 L 82.078125 401.324219 L 85.921875 397.640625 L 89.761719 393.972656 L 93.601563 390.320313 L 97.441406 386.6875 L 101.28125 383.074219 L 105.121094 379.476563 L 108.960938 375.898438 L 112.800781 372.335938 L 116.640625 368.792969 L 120.480469 365.265625 L 124.320313 361.757813 L 128.160156 358.265625 L 132 354.792969 L 135.839844 351.335938 L 139.679688 347.898438 L 143.519531 344.476563 L 147.359375 341.074219 L 151.199219 337.691406 L 155.039063 334.324219 L 158.878906 330.972656 L 162.71875 327.640625 L 166.558594 324.328125 L 170.398438 321.03125 L 174.238281 317.75 L 178.078125 314.488281 L 181.921875 311.246094 L 185.761719 308.019531 L 189.601563 304.8125 L 193.441406 301.621094 L 197.28125 298.449219 L 201.121094 295.292969 L 204.960938 292.15625 L 208.800781 289.035156 L 212.640625 285.933594 L 216.480469 282.847656 L 220.320313 279.78125 L 224.160156 276.734375 L 228 273.699219 L 231.839844 270.6875 L 235.679688 267.691406 L 239.519531 264.710938 L 243.359375 261.75 L 247.199219 258.808594 L 251.039063 255.882813 L 254.878906 252.976563 L 258.71875 250.085938 L 262.558594 247.214844 L 266.398438 244.359375 L 270.238281 241.519531 L 274.078125 238.703125 L 277.921875 235.898438 L 281.761719 233.117188 L 285.601563 230.351563 L 289.441406 227.601563 L 293.28125 224.871094 L 297.121094 222.15625 L 300.960938 219.460938 L 304.800781 216.78125 L 308.640625 214.121094 L 312.480469 211.480469 L 316.320313 208.855469 L 320.160156 206.25 L 324 203.660156 L 327.839844 201.085938 L 331.679688 198.53125 L 335.519531 195.996094 L 339.359375 193.476563 L 343.199219 190.976563 L 347.039063 188.492188 L 350.878906 186.027344 L 354.71875 183.578125 L 358.558594 181.148438 L 362.398438 178.734375 L 366.238281 176.339844 L 370.078125 173.960938 L 373.921875 171.601563 L 377.761719 169.261719 L 381.601563 166.9375 L 385.441406 164.628906 L 389.28125 162.339844 L 393.121094 160.070313 L 396.960938 157.816406 L 400.800781 155.578125 L 404.640625 153.359375 L 408.480469 151.160156 L 412.320313 148.976563 L 416.160156 146.8125 L 420 144.664063 L 423.839844 142.535156 L 427.679688 140.421875 L 431.519531 138.328125 L 435.359375 136.25 L 439.199219 134.191406 L 443.039063 132.148438 L 446.878906 130.125 L 450.71875 128.117188 L 454.558594 126.128906 L 458.398438 124.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-9" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-10" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-9" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-9" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-10" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-9" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-11" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-12" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-11" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-13" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-11" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-14" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-15" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-14" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-5" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-14" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-16" x="338.03125" y="346.695313"/> + <use xlink:href="#glyph0-6" x="344.705078" y="346.695313"/> + <use xlink:href="#glyph0-7" x="351.378906" y="346.695313"/> + <use xlink:href="#glyph0-17" x="356.048828" y="346.695313"/> + <use xlink:href="#glyph0-2" x="361.679688" y="346.695313"/> + <use xlink:href="#glyph0-11" x="368.353516" y="346.695313"/> + <use xlink:href="#glyph0-18" x="371.6875" y="346.695313"/> + <use xlink:href="#glyph0-11" x="378.695313" y="346.695313"/> + <use xlink:href="#glyph0-1" x="382.029297" y="346.695313"/> + <use xlink:href="#glyph0-15" x="388.703125" y="346.695313"/> + <use xlink:href="#glyph0-3" x="392.037109" y="346.695313"/> + <use xlink:href="#glyph0-1" x="398.710938" y="346.695313"/> + <use xlink:href="#glyph0-6" x="405.384766" y="346.695313"/> + <use xlink:href="#glyph0-7" x="412.058594" y="346.695313"/> + <use xlink:href="#glyph0-11" x="416.728516" y="346.695313"/> + <use xlink:href="#glyph0-18" x="420.0625" y="346.695313"/> + <use xlink:href="#glyph0-11" x="427.070313" y="346.695313"/> + <use xlink:href="#glyph0-14" x="430.404297" y="346.695313"/> + <use xlink:href="#glyph0-15" x="437.078125" y="346.695313"/> + <use xlink:href="#glyph0-3" x="440.412109" y="346.695313"/> + <use xlink:href="#glyph0-19" x="447.085938" y="346.695313"/> + <use xlink:href="#glyph0-4" x="453.759766" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-10" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-9" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-10" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-9" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-11" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-12" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-13" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-11" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-14" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-15" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-14" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-5" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-5" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-4" x="331.357422" y="375.496094"/> + <use xlink:href="#glyph0-6" x="338.03125" y="375.496094"/> + <use xlink:href="#glyph0-7" x="344.705078" y="375.496094"/> + <use xlink:href="#glyph0-17" x="349.375" y="375.496094"/> + <use xlink:href="#glyph0-2" x="355.005859" y="375.496094"/> + <use xlink:href="#glyph0-11" x="361.679688" y="375.496094"/> + <use xlink:href="#glyph0-18" x="365.013672" y="375.496094"/> + <use xlink:href="#glyph0-11" x="372.021484" y="375.496094"/> + <use xlink:href="#glyph0-1" x="375.355469" y="375.496094"/> + <use xlink:href="#glyph0-15" x="382.029297" y="375.496094"/> + <use xlink:href="#glyph0-1" x="385.363281" y="375.496094"/> + <use xlink:href="#glyph0-20" x="392.037109" y="375.496094"/> + <use xlink:href="#glyph0-6" x="398.710938" y="375.496094"/> + <use xlink:href="#glyph0-7" x="405.384766" y="375.496094"/> + <use xlink:href="#glyph0-11" x="410.054688" y="375.496094"/> + <use xlink:href="#glyph0-18" x="413.388672" y="375.496094"/> + <use xlink:href="#glyph0-11" x="420.396484" y="375.496094"/> + <use xlink:href="#glyph0-14" x="423.730469" y="375.496094"/> + <use xlink:href="#glyph0-15" x="430.404297" y="375.496094"/> + <use xlink:href="#glyph0-3" x="433.738281" y="375.496094"/> + <use xlink:href="#glyph0-3" x="440.412109" y="375.496094"/> + <use xlink:href="#glyph0-20" x="447.085938" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg b/docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg new file mode 100644 index 000000000..95a96f51b --- /dev/null +++ b/docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg @@ -0,0 +1,454 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d="M 0.808594 -2.75 L 0.808594 -4.726563 L 4.691406 -4.726563 L 4.691406 -2.75 Z M 0.808594 -2.75 "/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 7.542969 -5.257813 L 5.597656 -4.90625 C 5.527344 -5.292969 5.378906 -5.585938 5.148438 -5.785156 C 4.914063 -5.980469 4.613281 -6.082031 4.246094 -6.082031 C 3.75 -6.082031 3.355469 -5.910156 3.066406 -5.570313 C 2.769531 -5.230469 2.625 -4.664063 2.628906 -3.867188 C 2.625 -2.980469 2.773438 -2.351563 3.074219 -1.988281 C 3.371094 -1.621094 3.769531 -1.441406 4.273438 -1.441406 C 4.644531 -1.441406 4.953125 -1.546875 5.195313 -1.761719 C 5.433594 -1.972656 5.601563 -2.339844 5.703125 -2.863281 L 7.644531 -2.53125 C 7.4375 -1.640625 7.050781 -0.964844 6.480469 -0.511719 C 5.910156 -0.0585938 5.144531 0.164063 4.183594 0.167969 C 3.089844 0.164063 2.21875 -0.175781 1.570313 -0.863281 C 0.921875 -1.550781 0.597656 -2.507813 0.597656 -3.726563 C 0.597656 -4.957031 0.921875 -5.914063 1.574219 -6.605469 C 2.222656 -7.289063 3.105469 -7.632813 4.21875 -7.636719 C 5.125 -7.632813 5.847656 -7.4375 6.386719 -7.046875 C 6.921875 -6.652344 7.304688 -6.054688 7.542969 -5.257813 Z M 7.542969 -5.257813 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 1.035156 -8.480469 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 -8.480469 Z M 1.035156 0 L 1.035156 -7.46875 L 3.007813 -7.46875 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/> +</symbol> +<symbol overflow="visible" id="glyph2-17"> +<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/> +</symbol> +<symbol overflow="visible" id="glyph2-18"> +<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-19"> +<path style="stroke:none;" d="M 0.640625 -2.652344 L 2.609375 -2.855469 C 2.660156 -2.40625 2.828125 -2.054688 3.105469 -1.796875 C 3.382813 -1.535156 3.699219 -1.40625 4.0625 -1.40625 C 4.472656 -1.40625 4.824219 -1.570313 5.109375 -1.90625 C 5.394531 -2.238281 5.535156 -2.746094 5.539063 -3.425781 C 5.535156 -4.054688 5.394531 -4.527344 5.113281 -4.847656 C 4.828125 -5.160156 4.460938 -5.320313 4.007813 -5.324219 C 3.4375 -5.320313 2.925781 -5.070313 2.480469 -4.570313 L 0.878906 -4.800781 L 1.890625 -10.167969 L 7.117188 -10.167969 L 7.117188 -8.316406 L 3.390625 -8.316406 L 3.078125 -6.566406 C 3.515625 -6.785156 3.96875 -6.894531 4.429688 -6.898438 C 5.304688 -6.894531 6.046875 -6.578125 6.660156 -5.941406 C 7.265625 -5.300781 7.570313 -4.472656 7.574219 -3.460938 C 7.570313 -2.609375 7.324219 -1.851563 6.835938 -1.1875 C 6.160156 -0.277344 5.230469 0.175781 4.042969 0.175781 C 3.089844 0.175781 2.3125 -0.078125 1.714844 -0.589844 C 1.113281 -1.097656 0.753906 -1.785156 0.640625 -2.652344 Z M 0.640625 -2.652344 "/> +</symbol> +<symbol overflow="visible" id="glyph2-20"> +<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/> +</symbol> +</g> +</defs> +<g id="surface36"> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.992188 C 77.101563 407.589844 71.699219 407.589844 71.699219 403.992188 C 71.699219 400.390625 77.101563 400.390625 77.101563 403.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.464844 385.695313 C 94.464844 389.292969 89.0625 389.292969 89.0625 385.695313 C 89.0625 382.09375 94.464844 382.09375 94.464844 385.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.152344 371.054688 C 107.152344 374.65625 101.753906 374.65625 101.753906 371.054688 C 101.753906 367.457031 107.152344 367.457031 107.152344 371.054688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.84375 354.585938 C 121.84375 358.1875 116.445313 358.1875 116.445313 354.585938 C 116.445313 350.988281 121.84375 350.988281 121.84375 354.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.875 332.628906 C 139.875 336.230469 134.476563 336.230469 134.476563 332.628906 C 134.476563 329.03125 139.875 329.03125 139.875 332.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.578125 312.503906 C 160.578125 316.101563 155.179688 316.101563 155.179688 312.503906 C 155.179688 308.902344 160.578125 308.902344 160.578125 312.503906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.269531 296.035156 C 175.269531 299.632813 169.871094 299.632813 169.871094 296.035156 C 169.871094 292.433594 175.269531 292.433594 175.269531 296.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.304688 277.734375 C 195.304688 281.335938 189.90625 281.335938 189.90625 277.734375 C 189.90625 274.136719 195.304688 274.136719 195.304688 277.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216.007813 257.609375 C 216.007813 261.207031 210.609375 261.207031 210.609375 257.609375 C 210.609375 254.007813 216.007813 254.007813 216.007813 257.609375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 237.378906 237.480469 C 237.378906 241.082031 231.976563 241.082031 231.976563 237.480469 C 231.976563 233.878906 237.378906 233.878906 237.378906 237.480469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.746094 221.011719 C 256.746094 224.613281 251.34375 224.613281 251.34375 221.011719 C 251.34375 217.414063 256.746094 217.414063 256.746094 221.011719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.785156 200.886719 C 278.785156 204.484375 273.382813 204.484375 273.382813 200.886719 C 273.382813 197.285156 278.785156 197.285156 278.785156 200.886719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.820313 180.757813 C 300.820313 184.359375 295.421875 184.359375 295.421875 180.757813 C 295.421875 177.15625 300.820313 177.15625 300.820313 180.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.203125 160.628906 C 328.203125 164.230469 322.800781 164.230469 322.800781 160.628906 C 322.800781 157.03125 328.203125 157.03125 328.203125 160.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 343.5625 147.820313 C 343.5625 151.421875 338.164063 151.421875 338.164063 147.820313 C 338.164063 144.222656 343.5625 144.222656 343.5625 147.820313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.585938 138.671875 C 357.585938 142.273438 352.1875 142.273438 352.1875 138.671875 C 352.1875 135.074219 357.585938 135.074219 357.585938 138.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 372.277344 127.695313 C 372.277344 131.292969 366.878906 131.292969 366.878906 127.695313 C 366.878906 124.09375 372.277344 124.09375 372.277344 127.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.976563 118.542969 C 388.976563 122.144531 383.574219 122.144531 383.574219 118.542969 C 383.574219 114.945313 388.976563 114.945313 388.976563 118.542969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.003906 105.734375 C 405.003906 109.335938 399.601563 109.335938 399.601563 105.734375 C 399.601563 102.136719 405.003906 102.136719 405.003906 105.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.378906 89.269531 C 430.378906 92.867188 424.980469 92.867188 424.980469 89.269531 C 424.980469 85.667969 430.378906 85.667969 430.378906 89.269531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.738281 81.949219 C 443.738281 85.550781 438.335938 85.550781 438.335938 81.949219 C 438.335938 78.347656 443.738281 78.347656 443.738281 81.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.925781 430.558594 L 434.914063 430.558594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.925781 430.558594 L 121.925781 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 200.175781 430.558594 L 200.175781 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.421875 430.558594 L 278.421875 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.667969 430.558594 L 356.667969 437.761719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.914063 430.558594 L 434.914063 437.761719 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="118.589844" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="196.839844" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="275.085938" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-4" x="353.332031" y="456.480469"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="431.578125" y="456.480469"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 388.742188 L 59.039063 100.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 388.742188 L 51.839844 388.742188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 316.773438 L 51.839844 316.773438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 244.800781 L 51.839844 244.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 172.828125 L 51.839844 172.828125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 100.855469 L 51.839844 100.855469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="41.761719" y="392.078125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="41.761719" y="320.109375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="41.761719" y="248.136719"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="41.761719" y="176.164063"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="41.761719" y="104.191406"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="166.554688" y="34.675781"/> + <use xlink:href="#glyph2-2" x="176.159375" y="34.675781"/> + <use xlink:href="#glyph2-3" x="184.955469" y="34.675781"/> + <use xlink:href="#glyph2-4" x="193.751563" y="34.675781"/> + <use xlink:href="#glyph2-5" x="201.760156" y="34.675781"/> + <use xlink:href="#glyph2-6" x="207.364063" y="34.675781"/> + <use xlink:href="#glyph2-7" x="212.159375" y="34.675781"/> + <use xlink:href="#glyph2-8" x="220.167969" y="34.675781"/> + <use xlink:href="#glyph2-9" x="228.176562" y="34.675781"/> + <use xlink:href="#glyph2-10" x="232.971875" y="34.675781"/> + <use xlink:href="#glyph2-11" x="236.972656" y="34.675781"/> + <use xlink:href="#glyph2-4" x="244.98125" y="34.675781"/> + <use xlink:href="#glyph2-12" x="252.989844" y="34.675781"/> + <use xlink:href="#glyph2-13" x="256.990625" y="34.675781"/> + <use xlink:href="#glyph2-7" x="265.786719" y="34.675781"/> + <use xlink:href="#glyph2-14" x="273.795312" y="34.675781"/> + <use xlink:href="#glyph2-14" x="278.590625" y="34.675781"/> + <use xlink:href="#glyph2-15" x="283.385938" y="34.675781"/> + <use xlink:href="#glyph2-4" x="287.386719" y="34.675781"/> + <use xlink:href="#glyph2-16" x="295.395312" y="34.675781"/> + <use xlink:href="#glyph2-12" x="303.403906" y="34.675781"/> + <use xlink:href="#glyph2-1" x="307.404687" y="34.675781"/> + <use xlink:href="#glyph2-12" x="317.009375" y="34.675781"/> + <use xlink:href="#glyph2-17" x="321.010156" y="34.675781"/> + <use xlink:href="#glyph2-12" x="329.419531" y="34.675781"/> + <use xlink:href="#glyph2-18" x="333.420312" y="34.675781"/> + <use xlink:href="#glyph2-19" x="341.428906" y="34.675781"/> + <use xlink:href="#glyph2-12" x="349.4375" y="34.675781"/> + <use xlink:href="#glyph2-20" x="353.438281" y="34.675781"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="260.726563" y="485.28125"/> + <use xlink:href="#glyph0-7" x="267.400391" y="485.28125"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="12.960938" y="274.828125"/> + <use xlink:href="#glyph1-7" x="12.960938" y="268.154297"/> + <use xlink:href="#glyph1-8" x="12.960938" y="261.480469"/> + <use xlink:href="#glyph1-7" x="12.960938" y="258.146484"/> + <use xlink:href="#glyph1-9" x="12.960938" y="251.472656"/> + <use xlink:href="#glyph1-10" x="12.960938" y="248.138672"/> + <use xlink:href="#glyph1-11" x="12.960938" y="241.464844"/> + <use xlink:href="#glyph1-9" x="12.960938" y="234.791016"/> + <use xlink:href="#glyph1-6" x="12.960938" y="231.457031"/> + <use xlink:href="#glyph1-8" x="12.960938" y="224.783203"/> + <use xlink:href="#glyph1-7" x="12.960938" y="221.449219"/> +</g> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.992188 C 77.101563 407.589844 71.699219 407.589844 71.699219 403.992188 C 71.699219 400.390625 77.101563 400.390625 77.101563 403.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.464844 385.695313 C 94.464844 389.292969 89.0625 389.292969 89.0625 385.695313 C 89.0625 382.09375 94.464844 382.09375 94.464844 385.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.152344 371.054688 C 107.152344 374.65625 101.753906 374.65625 101.753906 371.054688 C 101.753906 367.457031 107.152344 367.457031 107.152344 371.054688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.84375 354.585938 C 121.84375 358.1875 116.445313 358.1875 116.445313 354.585938 C 116.445313 350.988281 121.84375 350.988281 121.84375 354.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.875 332.628906 C 139.875 336.230469 134.476563 336.230469 134.476563 332.628906 C 134.476563 329.03125 139.875 329.03125 139.875 332.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.578125 312.503906 C 160.578125 316.101563 155.179688 316.101563 155.179688 312.503906 C 155.179688 308.902344 160.578125 308.902344 160.578125 312.503906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.269531 296.035156 C 175.269531 299.632813 169.871094 299.632813 169.871094 296.035156 C 169.871094 292.433594 175.269531 292.433594 175.269531 296.035156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.304688 277.734375 C 195.304688 281.335938 189.90625 281.335938 189.90625 277.734375 C 189.90625 274.136719 195.304688 274.136719 195.304688 277.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216.007813 257.609375 C 216.007813 261.207031 210.609375 261.207031 210.609375 257.609375 C 210.609375 254.007813 216.007813 254.007813 216.007813 257.609375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 237.378906 237.480469 C 237.378906 241.082031 231.976563 241.082031 231.976563 237.480469 C 231.976563 233.878906 237.378906 233.878906 237.378906 237.480469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.746094 221.011719 C 256.746094 224.613281 251.34375 224.613281 251.34375 221.011719 C 251.34375 217.414063 256.746094 217.414063 256.746094 221.011719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.785156 200.886719 C 278.785156 204.484375 273.382813 204.484375 273.382813 200.886719 C 273.382813 197.285156 278.785156 197.285156 278.785156 200.886719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.820313 180.757813 C 300.820313 184.359375 295.421875 184.359375 295.421875 180.757813 C 295.421875 177.15625 300.820313 177.15625 300.820313 180.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.203125 160.628906 C 328.203125 164.230469 322.800781 164.230469 322.800781 160.628906 C 322.800781 157.03125 328.203125 157.03125 328.203125 160.628906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 343.5625 147.820313 C 343.5625 151.421875 338.164063 151.421875 338.164063 147.820313 C 338.164063 144.222656 343.5625 144.222656 343.5625 147.820313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.585938 138.671875 C 357.585938 142.273438 352.1875 142.273438 352.1875 138.671875 C 352.1875 135.074219 357.585938 135.074219 357.585938 138.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 372.277344 127.695313 C 372.277344 131.292969 366.878906 131.292969 366.878906 127.695313 C 366.878906 124.09375 372.277344 124.09375 372.277344 127.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.976563 118.542969 C 388.976563 122.144531 383.574219 122.144531 383.574219 118.542969 C 383.574219 114.945313 388.976563 114.945313 388.976563 118.542969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.003906 105.734375 C 405.003906 109.335938 399.601563 109.335938 399.601563 105.734375 C 399.601563 102.136719 405.003906 102.136719 405.003906 105.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.378906 89.269531 C 430.378906 92.867188 424.980469 92.867188 424.980469 89.269531 C 424.980469 85.667969 430.378906 85.667969 430.378906 89.269531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.738281 81.949219 C 443.738281 85.550781 438.335938 85.550781 438.335938 81.949219 C 438.335938 78.347656 443.738281 78.347656 443.738281 81.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 404.910156 L 78.238281 400.410156 L 82.078125 395.929688 L 85.921875 391.476563 L 89.761719 387.042969 L 93.601563 382.636719 L 97.441406 378.253906 L 101.28125 373.894531 L 105.121094 369.558594 L 108.960938 365.246094 L 112.800781 360.957031 L 116.640625 356.691406 L 120.480469 352.453125 L 124.320313 348.234375 L 128.160156 344.042969 L 132 339.871094 L 135.839844 335.726563 L 139.679688 331.601563 L 143.519531 327.503906 L 147.359375 323.429688 L 151.199219 319.378906 L 155.039063 315.351563 L 158.878906 311.347656 L 162.71875 307.367188 L 166.558594 303.414063 L 170.398438 299.480469 L 174.238281 295.570313 L 178.078125 291.6875 L 181.921875 287.828125 L 185.761719 283.988281 L 189.601563 280.175781 L 193.441406 276.386719 L 197.28125 272.621094 L 201.121094 268.878906 L 204.960938 265.160156 L 208.800781 261.464844 L 212.640625 257.792969 L 216.480469 254.144531 L 220.320313 250.523438 L 224.160156 246.921875 L 228 243.347656 L 231.839844 239.792969 L 235.679688 236.265625 L 239.519531 232.761719 L 243.359375 229.28125 L 247.199219 225.824219 L 251.039063 222.390625 L 254.878906 218.980469 L 258.71875 215.59375 L 262.558594 212.230469 L 266.398438 208.894531 L 270.238281 205.578125 L 274.078125 202.289063 L 277.921875 199.019531 L 281.761719 195.777344 L 285.601563 192.558594 L 289.441406 189.363281 L 293.28125 186.1875 L 297.121094 183.039063 L 300.960938 179.917969 L 304.800781 176.816406 L 308.640625 173.738281 L 312.480469 170.683594 L 316.320313 167.65625 L 320.160156 164.648438 L 324 161.667969 L 327.839844 158.707031 L 331.679688 155.773438 L 335.519531 152.863281 L 339.359375 149.976563 L 343.199219 147.113281 L 347.039063 144.273438 L 350.878906 141.457031 L 354.71875 138.664063 L 358.558594 135.894531 L 362.398438 133.152344 L 366.238281 130.429688 L 370.078125 127.730469 L 373.921875 125.058594 L 377.761719 122.410156 L 381.601563 119.785156 L 385.441406 117.179688 L 389.28125 114.601563 L 393.121094 112.046875 L 396.960938 109.515625 L 400.800781 107.007813 L 404.640625 104.527344 L 408.480469 102.066406 L 412.320313 99.628906 L 416.160156 97.21875 L 420 94.828125 L 423.839844 92.464844 L 427.679688 90.125 L 431.519531 87.808594 L 435.359375 85.511719 L 439.199219 83.242188 L 443.039063 80.996094 L 446.878906 78.777344 L 450.71875 76.578125 L 454.558594 74.402344 L 458.398438 72.25 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 81.265625 402.160156 L 88.902344 402.160156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 85.085938 405.980469 L 85.085938 398.34375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.621094 389.351563 L 100.257813 389.351563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 96.4375 393.171875 L 96.4375 385.535156 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.640625 376.542969 L 112.277344 376.542969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 108.460938 380.363281 L 108.460938 372.726563 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 115.324219 363.734375 L 122.960938 363.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.144531 367.554688 L 119.144531 359.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125.34375 352.757813 L 132.980469 352.757813 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.160156 356.574219 L 129.160156 348.9375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 135.359375 341.777344 L 142.996094 341.777344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.179688 345.597656 L 139.179688 337.960938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.386719 328.96875 L 157.023438 328.96875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.203125 332.789063 L 153.203125 325.152344 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 164.746094 314.332031 L 172.382813 314.332031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 168.5625 318.148438 L 168.5625 310.511719 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 182.777344 299.695313 L 190.414063 299.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 186.59375 303.511719 L 186.59375 295.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 194.128906 288.714844 L 201.765625 288.714844 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.949219 292.535156 L 197.949219 284.898438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 209.488281 277.734375 L 217.125 277.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 213.308594 281.554688 L 213.308594 273.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 227.519531 263.097656 L 235.15625 263.097656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.339844 266.917969 L 231.339844 259.28125 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 240.878906 253.949219 L 248.515625 253.949219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.695313 257.765625 L 244.695313 250.128906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.234375 244.800781 L 261.871094 244.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 258.050781 248.617188 L 258.050781 240.980469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270.261719 233.820313 L 277.898438 233.820313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 274.078125 237.640625 L 274.078125 230.003906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 284.953125 224.671875 L 292.589844 224.671875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288.773438 228.492188 L 288.773438 220.855469 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 304.320313 213.695313 L 311.957031 213.695313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.140625 217.511719 L 308.140625 209.875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 315.671875 206.375 L 323.3125 206.375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 319.492188 210.191406 L 319.492188 202.554688 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.050781 191.734375 L 348.6875 191.734375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.871094 195.554688 L 344.871094 187.917969 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.410156 182.585938 L 364.046875 182.585938 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360.230469 186.40625 L 360.230469 178.769531 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.433594 173.4375 L 378.074219 173.4375 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.253906 177.257813 L 374.253906 169.621094 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 392.472656 164.289063 L 400.109375 164.289063 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 396.292969 168.109375 L 396.292969 160.472656 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 411.171875 155.140625 L 418.808594 155.140625 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.992188 158.957031 L 414.992188 151.320313 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 429.871094 145.992188 L 437.507813 145.992188 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 433.691406 149.808594 L 433.691406 142.171875 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.5625 140.503906 L 450.199219 140.503906 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.378906 144.320313 L 446.378906 136.683594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 133.183594 L 462.21875 133.183594 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 137 L 458.398438 129.363281 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 411.421875 L 78.238281 407.253906 L 82.078125 403.117188 L 85.921875 399.007813 L 89.761719 394.929688 L 93.601563 390.878906 L 97.441406 386.855469 L 101.28125 382.863281 L 105.121094 378.898438 L 108.960938 374.960938 L 112.800781 371.054688 L 116.640625 367.179688 L 120.480469 363.328125 L 124.320313 359.511719 L 128.160156 355.71875 L 132 351.957031 L 135.839844 348.222656 L 139.679688 344.519531 L 143.519531 340.84375 L 147.359375 337.199219 L 151.199219 333.582031 L 155.039063 329.992188 L 158.878906 326.433594 L 162.71875 322.902344 L 166.558594 319.398438 L 170.398438 315.925781 L 174.238281 312.480469 L 178.078125 309.066406 L 181.921875 305.679688 L 185.761719 302.324219 L 189.601563 298.996094 L 193.441406 295.695313 L 197.28125 292.425781 L 201.121094 289.183594 L 204.960938 285.96875 L 208.800781 282.785156 L 212.640625 279.632813 L 216.480469 276.503906 L 220.320313 273.40625 L 224.160156 270.339844 L 228 267.300781 L 231.839844 264.289063 L 235.679688 261.308594 L 239.519531 258.355469 L 243.359375 255.429688 L 247.199219 252.535156 L 251.039063 249.671875 L 254.878906 246.832031 L 258.71875 244.027344 L 262.558594 241.246094 L 266.398438 238.496094 L 270.238281 235.773438 L 274.078125 233.082031 L 277.921875 230.417969 L 281.761719 227.785156 L 285.601563 225.175781 L 289.441406 222.601563 L 293.28125 220.050781 L 297.121094 217.535156 L 300.960938 215.042969 L 304.800781 212.582031 L 308.640625 210.148438 L 312.480469 207.746094 L 316.320313 205.371094 L 320.160156 203.027344 L 324 200.710938 L 327.839844 198.421875 L 331.679688 196.164063 L 335.519531 193.933594 L 339.359375 191.730469 L 343.199219 189.558594 L 347.039063 187.414063 L 350.878906 185.300781 L 354.71875 183.214844 L 358.558594 181.160156 L 362.398438 179.132813 L 366.238281 177.132813 L 370.078125 175.164063 L 373.921875 173.222656 L 377.761719 171.308594 L 381.601563 169.425781 L 385.441406 167.570313 L 389.28125 165.746094 L 393.121094 163.949219 L 396.960938 162.183594 L 400.800781 160.445313 L 404.640625 158.734375 L 408.480469 157.054688 L 412.320313 155.402344 L 416.160156 153.777344 L 420 152.183594 L 423.839844 150.617188 L 427.679688 149.082031 L 431.519531 147.574219 L 435.359375 146.097656 L 439.199219 144.644531 L 443.039063 143.226563 L 446.878906 141.832031 L 450.71875 140.472656 L 454.558594 139.136719 L 458.398438 137.832031 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/> +<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="332.296875"/> + <use xlink:href="#glyph0-9" x="270.314453" y="332.296875"/> + <use xlink:href="#glyph0-10" x="276.988281" y="332.296875"/> + <use xlink:href="#glyph0-9" x="280.322266" y="332.296875"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="346.695313"/> + <use xlink:href="#glyph0-9" x="270.314453" y="346.695313"/> + <use xlink:href="#glyph0-10" x="276.988281" y="346.695313"/> + <use xlink:href="#glyph0-9" x="280.322266" y="346.695313"/> + <use xlink:href="#glyph0-11" x="286.996094" y="346.695313"/> + <use xlink:href="#glyph0-12" x="290.330078" y="346.695313"/> + <use xlink:href="#glyph0-11" x="297.337891" y="346.695313"/> + <use xlink:href="#glyph0-13" x="300.671875" y="346.695313"/> + <use xlink:href="#glyph0-11" x="304.667969" y="346.695313"/> + <use xlink:href="#glyph0-14" x="308.001953" y="346.695313"/> + <use xlink:href="#glyph0-15" x="314.675781" y="346.695313"/> + <use xlink:href="#glyph0-14" x="318.009766" y="346.695313"/> + <use xlink:href="#glyph0-16" x="324.683594" y="346.695313"/> + <use xlink:href="#glyph0-17" x="331.357422" y="346.695313"/> + <use xlink:href="#glyph0-5" x="338.03125" y="346.695313"/> + <use xlink:href="#glyph0-6" x="344.705078" y="346.695313"/> + <use xlink:href="#glyph0-7" x="351.378906" y="346.695313"/> + <use xlink:href="#glyph0-18" x="356.048828" y="346.695313"/> + <use xlink:href="#glyph0-2" x="361.679688" y="346.695313"/> + <use xlink:href="#glyph0-11" x="368.353516" y="346.695313"/> + <use xlink:href="#glyph0-19" x="371.6875" y="346.695313"/> + <use xlink:href="#glyph0-11" x="378.695313" y="346.695313"/> + <use xlink:href="#glyph0-1" x="382.029297" y="346.695313"/> + <use xlink:href="#glyph0-15" x="388.703125" y="346.695313"/> + <use xlink:href="#glyph0-3" x="392.037109" y="346.695313"/> + <use xlink:href="#glyph0-3" x="398.710938" y="346.695313"/> + <use xlink:href="#glyph0-6" x="405.384766" y="346.695313"/> + <use xlink:href="#glyph0-7" x="412.058594" y="346.695313"/> + <use xlink:href="#glyph0-11" x="416.728516" y="346.695313"/> + <use xlink:href="#glyph0-19" x="420.0625" y="346.695313"/> + <use xlink:href="#glyph0-11" x="427.070313" y="346.695313"/> + <use xlink:href="#glyph0-14" x="430.404297" y="346.695313"/> + <use xlink:href="#glyph0-15" x="437.078125" y="346.695313"/> + <use xlink:href="#glyph0-2" x="440.412109" y="346.695313"/> + <use xlink:href="#glyph0-16" x="447.085938" y="346.695313"/> + <use xlink:href="#glyph0-3" x="453.759766" y="346.695313"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="361.09375"/> + <use xlink:href="#glyph0-10" x="270.314453" y="361.09375"/> + <use xlink:href="#glyph0-9" x="273.648438" y="361.09375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="263.640625" y="375.496094"/> + <use xlink:href="#glyph0-10" x="270.314453" y="375.496094"/> + <use xlink:href="#glyph0-9" x="273.648438" y="375.496094"/> + <use xlink:href="#glyph0-11" x="280.322266" y="375.496094"/> + <use xlink:href="#glyph0-12" x="283.65625" y="375.496094"/> + <use xlink:href="#glyph0-11" x="290.664063" y="375.496094"/> + <use xlink:href="#glyph0-13" x="293.998047" y="375.496094"/> + <use xlink:href="#glyph0-11" x="297.994141" y="375.496094"/> + <use xlink:href="#glyph0-14" x="301.328125" y="375.496094"/> + <use xlink:href="#glyph0-15" x="308.001953" y="375.496094"/> + <use xlink:href="#glyph0-14" x="311.335938" y="375.496094"/> + <use xlink:href="#glyph0-17" x="318.009766" y="375.496094"/> + <use xlink:href="#glyph0-3" x="324.683594" y="375.496094"/> + <use xlink:href="#glyph0-4" x="331.357422" y="375.496094"/> + <use xlink:href="#glyph0-6" x="338.03125" y="375.496094"/> + <use xlink:href="#glyph0-7" x="344.705078" y="375.496094"/> + <use xlink:href="#glyph0-18" x="349.375" y="375.496094"/> + <use xlink:href="#glyph0-2" x="355.005859" y="375.496094"/> + <use xlink:href="#glyph0-11" x="361.679688" y="375.496094"/> + <use xlink:href="#glyph0-19" x="365.013672" y="375.496094"/> + <use xlink:href="#glyph0-11" x="372.021484" y="375.496094"/> + <use xlink:href="#glyph0-1" x="375.355469" y="375.496094"/> + <use xlink:href="#glyph0-15" x="382.029297" y="375.496094"/> + <use xlink:href="#glyph0-2" x="385.363281" y="375.496094"/> + <use xlink:href="#glyph0-5" x="392.037109" y="375.496094"/> + <use xlink:href="#glyph0-6" x="398.710938" y="375.496094"/> + <use xlink:href="#glyph0-7" x="405.384766" y="375.496094"/> + <use xlink:href="#glyph0-11" x="410.054688" y="375.496094"/> + <use xlink:href="#glyph0-19" x="413.388672" y="375.496094"/> + <use xlink:href="#glyph0-11" x="420.396484" y="375.496094"/> + <use xlink:href="#glyph0-14" x="423.730469" y="375.496094"/> + <use xlink:href="#glyph0-15" x="430.404297" y="375.496094"/> + <use xlink:href="#glyph0-2" x="433.738281" y="375.496094"/> + <use xlink:href="#glyph0-14" x="440.412109" y="375.496094"/> + <use xlink:href="#glyph0-20" x="447.085938" y="375.496094"/> +</g> +</g> +</svg> diff --git a/docs/fr/calculators/par/calage.md b/docs/fr/calculators/par/calage.md new file mode 100644 index 000000000..905f051dc --- /dev/null +++ b/docs/fr/calculators/par/calage.md @@ -0,0 +1,38 @@ +# Calage d'une passe à ralentisseurs + +Ce module permet de dimensionner une passe à ralentisseur. Les types de passes à ralentisseurs supportés sont: + +- [passes à ralentisseurs plans](theorie_plans.md) ; +- [passes à ralentisseurs "Fatou"](theorie_fatou.md) ; +- [passes à ralentisseurs à fonds suractifs](theorie_suractif.md) ; +- [passes à ralentisseurs mixtes](theorie_mixte.md). + +Voir [l'ensemble des formules utilisées pour les passes à ralentisseurs](formules.md). + +## Calage hydraulique de la passe + +L'outil permet de calculer l'une des valeurs suivantes : + +- le débit passant dans la passe (m<sup>3</sup>/s) ; +- la charge en amont de la passe (m) ; +- la largeur de la passe (m) pour les types ralentisseurs plans et Fatou . + +Compte tenu des paramètres obligatoires suivants : + +- le type de passe (Plans, Fatou, fonds suractifs ou mixtes) ; +- [la pente (m/m)](../hsl/pente.md). + +Le paramètre "Espacement entre les ralentisseurs (m)" est facultatif. S'il n'est pas renseigné, Sa valeur standard est alors calculée. S'il est fourni, si sa valeur s'écarte de plus de 10% de la valeur standard, une erreur est générée. + +## Calage altimétrique de la passe + +Les paramètres de calage altimétriques (cote de l'eau amont et cote de l'eau aval) sont facultatifs et permettent de calculer: + +- la longueur longitudinale et au fil de l'eau de la passe +- le nombre de ralentisseurs +- les cotes de radier et de déversement à l'amont et à l'aval de la passe +- les cotes d'arase des murs latéraux à l'amont de la passe. + +## Génération d'un module de simulation de passe à ralentisseurs + +Les résultats d'une passe calée en altimétrie peuvent servir à générer un module de [simulation de passe à ralentisseurs](simulation.md) à l'aide du bouton ad hoc. \ No newline at end of file diff --git a/docs/fr/calculators/par/formules.md b/docs/fr/calculators/par/formules.md new file mode 100644 index 000000000..0d638ff10 --- /dev/null +++ b/docs/fr/calculators/par/formules.md @@ -0,0 +1,51 @@ +# Formules de calcul des passes à ralentisseurs + +Pour le calcul de : + +- la charge amont \(ha\) ; +- la hauteur d'eau dans la passe \(h\) ; +- du débit \(Q\) ; +- de la vitesse débitante \(V\) ; +- la cote de radier amont \(Z_{r1}\) ; +- la cote d'arase minimale des murs latéraux \(Z_m\) + +Se référer aux formules propres à chaque type de passe à ralentisseurs: + +- [passes à ralentisseurs plans](theorie_plans.md) ; +- [passes à ralentisseurs "Fatou"](theorie_fatou.md) ; +- [passes à ralentisseurs à fonds suractifs](theorie_suractif.md) ; +- [passes à ralentisseurs mixtes](theorie_mixte.md). + +## Cote de l'eau à l'amont de la passe \(Z_1\) + +$$Z_{1} = Z_{d1} + h_a$$ + +Avec \(Z_{d1}\) la cote de déversment du premier ralentisseur amont, \(h_a\) la charge amont. + +## Longueur de la passe + +La longueur de la passe le long d'une ligne d'eau parallèle à la pente de la passe \(L_w\) est égale à + +$$L_w = (Z_1 - Z_2)\dfrac{\sqrt{1 + S^2}}{S}$$ + +avec \(Z_1\) et \(Z_1\) les cotes de l'eau à l'amont et l'aval de la passe, \(S\) la pente. + +La longueur de la passe le long de la pente \(L_S\) doit être un multiple de la longueur entre les ralentisseurs \(P\) arrondi à l'entier supérieur : + +$$L_S = \lceil (L_w - \epsilon) / P \rceil \times P $$ + +Avec \(\epsilon\) = 1 mm pour laisser une marge avant le rajout d'un ralentisseur supplémentaire. + +La projection horizontale de la longueur de la passe \(L_h\) est alors égale à : + +$$L_h = L_S \dfrac{S}{\sqrt{1 + S^2}} $$ + +## Nombre de ralentisseurs \(N_b\) + +$$N_b = L_S / P + 1$$ + +## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{r2}\) + +$$Z_{r2} = Z_{r1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$ + +$$Z_{d2} = Z_{d1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$ diff --git a/docs/fr/calculators/par/simulation.md b/docs/fr/calculators/par/simulation.md new file mode 100644 index 000000000..d6005c233 --- /dev/null +++ b/docs/fr/calculators/par/simulation.md @@ -0,0 +1,26 @@ +# Simulation d'une passe à ralentisseurs + +Ce module permet de calculer différentes conditions hydrauliques sur une passe à ralentisseur dont la géométrie est connue. Cette géométrie provient de mesures topographiques ou du [résultat d'un calage de passe à ralentisseurs](calage.md). + +Les types de passes à ralentisseurs supportés sont: + +- [passes à ralentisseurs plans](theorie_plans.md) ; +- [passes à ralentisseurs "Fatou"](theorie_fatou.md) ; +- [passes à ralentisseurs à fonds suractifs](theorie_suractif.md) ; +- [passes à ralentisseurs mixtes](theorie_mixte.md). + +Voir [l'ensemble des formules utilisées pour les passes à ralentisseurs](formules.md). + +L'outil permet de calculer l'une des valeurs suivantes : + +- le débit passant dans la passe (m<sup>3</sup>/s) ; +- la cote de l'eau en amont de la passe (m) ; +- la cote de déversement en amont de la passe (m). + +Compte tenu des paramètres obligatoires suivants : + +- le type de passe (Plans, Fatou, fonds suractifs ou mixtes) ; +- [la pente (m/m)](../hsl/pente.md) ; +- la largeur de la passe (m) ; +- la cote de déversement ou la cote de radier à l'amont (m) ; +- la cote de déversement ou la cote de radier à l'aval (m) . diff --git a/docs/fr/calculators/par/theorie_fatou.md b/docs/fr/calculators/par/theorie_fatou.md new file mode 100644 index 000000000..d8948bfc4 --- /dev/null +++ b/docs/fr/calculators/par/theorie_fatou.md @@ -0,0 +1,91 @@ +# Passe à ralentisseurs "Fatou" + +## Caractéristiques géométriques + + + +*Extrait de Larinier, 2002[^1]* + +## Lois hydrauliques issues des abaques + +Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(Q^*\) : + +$$ Q^* = \dfrac{Q}{\sqrt{g}L^{2,5}} $$ + + à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) : + + + +*Abaques d'une passe à ralentisseurs Fatou pour une pente de 10% (Extrait de Larinier, 2002[^1])* + + + +*Abaques d'une passe à ralentisseurs Fatou pour une pente de 15% (Extrait de Larinier, 2002[^1])* + + + +*Abaques d'une passe à ralentisseurs Fatou pour une pente de 20% (Extrait de Larinier, 2002[^1])* + +Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\). + +On a donc : + +$$ ha/L = a_2(S) Q^{*2} + a_1(S) Q^* + a_0(S) $$ + +$$a_2(S) = - 783.592S^2 + 269.991S - 25.2637$$ + +$$a_1(S) = 302.623S^2 - 106.203S + 13.2957$$ + +$$a_0(S) = 15.8096S^2 - 5.19282S + 0.465827$$ + +Et : + +$$ h/L = b_2(S) Q^{*2} + b_1(S) Q^* + b_0 $$ + +$$b_2(S) = - 73.4829S^2 + 54.6733S - 14.0622$$ + +$$b_1(S) = 42.4113S^2 - 24.4941S + 8.84146$$ + +$$b_0(S) = - 3.56494S^2 + 0.450262S + 0.0407576$$ + +## Calcul de \(ha\), \(h\) et \(Q\) + +On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(Q^*\) : + +$$ ha = L \left( a_2 (Q^*)^2 + a_1 Q^* + a_0 \right)$$ + +$$ h = L \left( b_2 (Q^*)^2 + b_1 Q^* + b_0 \right)$$ + +En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient: + +$$ Q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/L)}}{2 a_2}$$ + +Et on a enfin : + +$$ Q = Q^* \sqrt{g} L^{2,5} $$ + +Les limites de calcul de \(Q^*\), \(ha/L\) et \(h/L\) sont fixées à partir des extrémités des courbes des abaques. + +## Vitesse débitante + +La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur : + +$$ V = \dfrac{Q}{A_w} $$ + +pour les passes à ralentisseurs Fatou en utilisation les notations du schéma ci-dessus, on aura : + +$$ A_w = B \times h $$ + +Ce qui donne avec les proportions standards : + +$$ A_w = 0.6hL $$ + +## Cote de radier amont \(Z_{r1}\) + +$$ Z_{r1} = Z_{d1} + \frac{0.3 S - 0.2}{\sqrt{1 + S^2}} $$ + +## Cote d'arase minimale des murs latéraux \(Z_m\) + +$$ Z_m = Z_{r1} + \frac{4 L}{3 \sqrt{1 + S^2}} $$ + +[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.†Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109). diff --git a/docs/fr/calculators/par/theorie_fatou_schema.png b/docs/fr/calculators/par/theorie_fatou_schema.png new file mode 100644 index 0000000000000000000000000000000000000000..36e32a67245d6a04746cfdd59638c267741f19e0 GIT binary patch literal 138046 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]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 NXUsFXGR@ZSe*yC50x$po literal 0 HcmV?d00001 diff --git a/docs/fr/calculators/par/theorie_mixte.md b/docs/fr/calculators/par/theorie_mixte.md new file mode 100644 index 000000000..b9c77c510 --- /dev/null +++ b/docs/fr/calculators/par/theorie_mixte.md @@ -0,0 +1,78 @@ +# Passe à ralentisseurs mixte ou à chevrons + + + +*Extrait de Larinier, 2002[^1]* + +## Lois hydrauliques issues des abaques + +Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(q^*\) : + +$$ q^* = \dfrac{Q/L}{\sqrt{2g}a^{1,5}} $$ + + à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) : + + + +*Abaques d'une passe à ralentisseurs mixte pour une pente de 10% (Extrait de Larinier, 2002[^1])* + + + +*Abaques d'une passe à ralentisseurs mixte pour une pente de 15% (Extrait de Larinier, 2002[^1])* + +Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\). + +On a donc : + +$$ ha/a = a_2(S) q^{*2} + a_1(S) q^* + a_0(S) $$ + +$$a_2(S) = 0.188324S - 0.0427461$$ + +$$a_1(S) = - 2.47998S + 1.25363$$ + +$$a_0(S) = 5.02138S + 0.709434$$ + +Et : + +$$ h/a = b_2(S) q^{*2} + b_1(S) q^* + b_0 $$ + +$$b_2(S) = - 0.0733832S - 0.00839864$$ + +$$b_1(S) = 0.176261S + 0.661656$$ + +$$b_0(S) = - 4.97686S + 1.30546$$ + +## Calcul de \(ha\), \(h\) et \(Q\) + +On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(q^*\) : + +$$ ha = a \left( a_2 (q^*)^2 + a_1 q^* + a_0 \right)$$ + +$$ h = a \left( b_2 (q^*)^2 + b_1 q^* + b_0 \right)$$ + +En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient: + +$$ q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/a)}}{2 a_2}$$ + +Et on a enfin : + +$$ Q = L q^* \sqrt{g} a^{1,5} $$ + +Les limites de calcul de \(q^*\), \(ha/a\) et \(h/a\) sont fixées à partir des extrémités des courbes des abaques. + +## Vitesse débitante + +La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur : + +$$ V = \dfrac{Q}{A_w} $$ + +pour les passes à ralentisseurs mixte en utilisation les notations du schéma ci-dessus, on aura : + +$$ A_w = h \times L$$ + +## Cote de radier amont \(Z_{r1}\) + +$$ Z_{r1} = Z_{d1} + \frac{3 a S - a}{\sqrt{1 + S^2}} $$ + +[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.†Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109). + diff --git a/docs/fr/calculators/par/theorie_mixte_schema.png b/docs/fr/calculators/par/theorie_mixte_schema.png new file mode 100644 index 0000000000000000000000000000000000000000..400c43e8eaebe4fb753b91bc51276975adb24b8d GIT binary patch literal 99570 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�Yj)YMrZ)npaNTCf7dQ5G4h-=7 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%0DxeJ_kuwpEVm)~yEdHAFcnO4N-gc7h4x?Q>5B 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�))>LW)AJbsgPss=nAvHW~O}s^U(6>=QW&j_-qV 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 GaNz&RPMUQ9 literal 0 HcmV?d00001 diff --git a/docs/fr/calculators/par/theorie_plans.md b/docs/fr/calculators/par/theorie_plans.md new file mode 100644 index 000000000..5161cb868 --- /dev/null +++ b/docs/fr/calculators/par/theorie_plans.md @@ -0,0 +1,91 @@ +# Passe à ralentisseurs plans (Denyl) + +## Caractéristiques géométriques + + + +*Extrait de Larinier, 2002[^1]* + +## Lois hydrauliques issues des abaques + +Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(Q^*\) : + +$$ Q^* = \dfrac{Q}{\sqrt{g}L^{2,5}} $$ + + à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) : + + + +*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 10% (Extrait de Larinier, 2002[^1])* + + + +*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 15% (Extrait de Larinier, 2002[^1])* + + + +*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 20% (Extrait de Larinier, 2002[^1])* + +Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\). + +On a donc : + +$$ ha/L = a_2(S) Q^{*2} + a_1(S) Q^* + a_0(S) $$ + +$$a_2(S) = 315.110S^2 - 115.164S + 6.85371$$ + +$$a_1(S) = - 184.043S^2 + 59.7073S - 0.530737$$ + +$$a_0(S) = 15.2115S^2 - 5.22606S + 0.633654$$ + +Et : + +$$ h/L = b_2(S) Q^{*2} + b_1(S) Q^* + b_0 $$ + +$$b_2(S) = 347.368S^2 - 130.698S + 8.14521$$ + +$$b_1(S) = - 139.382S^2 + 47.2186S + 0.0547598$$ + +$$b_0(S) = 16.7218S^2 - 6.09624S + 0.834851$$ + +## Calcul de \(ha\), \(h\) et \(Q\) + +On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(Q^*\) : + +$$ ha = L \left( a_2 (Q^*)^2 + a_1 Q^* + a_0 \right)$$ + +$$ h = L \left( b_2 (Q^*)^2 + b_1 Q^* + b_0 \right)$$ + +En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient: + +$$ Q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/L)}}{2 a_2}$$ + +Et on a enfin : + +$$ Q = Q^* \sqrt{g} L^{2,5} $$ + +Les limites de calcul de \(Q^*\), \(ha/L\) et \(h/L\) sont fixées à partir des extrémités des courbes des abaques. + +## Vitesse débitante + +La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur : + +$$ V = \dfrac{Q}{A_w} $$ + +pour les passes à ralentisseurs plans en utilisation les notations du schéma ci-dessus, on aura : + +$$ A_w = B \times \left( h - \dfrac{C+D}{2} \sin(45°) \right)$$ + +Ce qui donne avec les proportions standards : + +$$ A_w = L \left(0.583 h - 0.146L \right) $$ + +## Cote de radier amont \(Z_{r1}\) + +$$ Z_{r1} = Z_{d1} - D \sin(45° + \arctan(S)) $$ + +## Cote d'arase minimale des murs latéraux \(Z_m\) + +$$ Z_m = Z_{r1} + - H_{min} \sin(45° + \arctan(S)) $$ + +[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.†Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109). diff --git a/docs/fr/calculators/par/theorie_plans_schema.png b/docs/fr/calculators/par/theorie_plans_schema.png new file mode 100644 index 0000000000000000000000000000000000000000..a25abf5b7a92c69db30199bdfb3daa19cd32be1f GIT binary patch literal 95961 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%0DCxM&QBaKg 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 b8XG4c9u}Wh6Y#XFz}GahS*F)b>^%Pm--IL{ literal 0 HcmV?d00001 diff --git a/docs/fr/calculators/par/theorie_suractif.md b/docs/fr/calculators/par/theorie_suractif.md new file mode 100644 index 000000000..b5cb6167d --- /dev/null +++ b/docs/fr/calculators/par/theorie_suractif.md @@ -0,0 +1,77 @@ +# Passe à ralentisseurs à fonds suractif + + + +*Extrait de Larinier, 2002[^1]* + +## Lois hydrauliques issues des abaques + +Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(q^*\) : + +$$ q^* = \dfrac{Q/L}{\sqrt{2g}a^{1,5}} $$ + + à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) : + + + +*Abaques d'une passe à ralentisseurs à fond suractif pour une pente de 10% (Extrait de Larinier, 2002[^1])* + + + +*Abaques d'une passe à ralentisseurs à fond suractif pour une pente de 15% (Extrait de Larinier, 2002[^1])* + +Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\). + +On a donc : + +$$ ha/a = a_2(S) q^{*2} + a_1(S) q^* + a_0(S) $$ + +$$a_2(S) = - 0.354624S - 0.0153156$$ + +$$a_1(S) = 0.514953S + 1.25460$$ + +$$a_0(S) = - 2.22434S + 0.596682$$ + +Et : + +$$ h/a = b_2(S) q^{*2} + b_1(S) q^* + b_0 $$ + +$$b_2(S) = - 0.559218S + 0.000504060$$ + +$$b_1(S) = 1.15807S + 1.07554$$ + +$$b_0(S) = - 2.62712S + 0.601348$$ + +## Calcul de \(ha\), \(h\) et \(Q\) + +On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(q^*\) : + +$$ ha = a \left( a_2 (q^*)^2 + a_1 q^* + a_0 \right)$$ + +$$ h = a \left( b_2 (q^*)^2 + b_1 q^* + b_0 \right)$$ + +En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient: + +$$ q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/a)}}{2 a_2}$$ + +Et on a enfin : + +$$ Q = L q^* \sqrt{g} a^{1,5} $$ + +Les limites de calcul de \(q^*\), \(ha/a\) et \(h/a\) sont fixées à partir des extrémités des courbes des abaques. + +## Vitesse débitante + +La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur : + +$$ V = \dfrac{Q}{A_w} $$ + +pour les passes à ralentisseurs à fond suractif en utilisation les notations du schéma ci-dessus, on aura : + +$$ A_w = h \times L$$ + +## Cote de radier amont \(Z_{r1}\) + +$$ Z_{r1} = Z_{d1} + \frac{2.6 a S - a}{\sqrt{1 + S^2}} $$ + +[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.†Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109). diff --git a/docs/fr/calculators/par/theorie_suractif_schema.png b/docs/fr/calculators/par/theorie_suractif_schema.png new file mode 100644 index 0000000000000000000000000000000000000000..53898288de611721cfc3fa08d5a8cd5a34f6521b GIT binary patch literal 75501 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�L_5a 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 WzxeqQmlXM+h*xkxn178jD(hF@G_TzN literal 0 HcmV?d00001 diff --git a/mkdocs-fr.yml b/mkdocs-fr.yml index f1a4bcc6b..20a6b9fa6 100644 --- a/mkdocs-fr.yml +++ b/mkdocs-fr.yml @@ -64,6 +64,14 @@ nav: - calculators/pam/macrorugo_theorie.md - calculators/pam/macrorugo_complexe.md - calculators/pam/concentration.md + - Passes à ralentisseurs: + - calculators/par/calage.md + - calculators/par/simulation.md + - calculators/par/formules.md + - calculators/par/theorie_plans.md + - calculators/par/theorie_fatou.md + - calculators/par/theorie_suractif.md + - calculators/par/theorie_mixte.md - Dévalaison: - Perte de charge sur grille de prise d'eau: calculators/devalaison/grille.md - Impact de jet: calculators/devalaison/jet.md -- GitLab From b32c9419f26514fc06b8262cd2705525adfe2856 Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@irstea.fr> Date: Mon, 4 May 2020 18:57:24 +0200 Subject: [PATCH 032/117] ci: forgot to specify the jalhyd branch Refs #398 --- jalhyd_branch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jalhyd_branch b/jalhyd_branch index 1e054d20c..d64531f13 100644 --- a/jalhyd_branch +++ b/jalhyd_branch @@ -1 +1 @@ -223-calage-d-une-par-remplacer-la-cote-de-deversement-par-la-charge +devel -- GitLab From ef852a0da398b7042ae0b7a9e56a8ad90bfddafa Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@irstea.fr> Date: Wed, 13 May 2020 10:29:10 +0200 Subject: [PATCH 033/117] doc: Baffle fishways - Mispelling - Correct formula for number of baffles Refs #398 --- docs/fr/calculators/par/formules.md | 12 +++++++++--- docs/fr/calculators/par/theorie_plans.md | 16 ++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/docs/fr/calculators/par/formules.md b/docs/fr/calculators/par/formules.md index 0d638ff10..d8744667b 100644 --- a/docs/fr/calculators/par/formules.md +++ b/docs/fr/calculators/par/formules.md @@ -20,7 +20,7 @@ Se référer aux formules propres à chaque type de passe à ralentisseurs: $$Z_{1} = Z_{d1} + h_a$$ -Avec \(Z_{d1}\) la cote de déversment du premier ralentisseur amont, \(h_a\) la charge amont. +Avec \(Z_{d1}\) la cote de déversement du premier ralentisseur amont, \(h_a\) la charge amont. ## Longueur de la passe @@ -28,7 +28,7 @@ La longueur de la passe le long d'une ligne d'eau parallèle à la pente de la p $$L_w = (Z_1 - Z_2)\dfrac{\sqrt{1 + S^2}}{S}$$ -avec \(Z_1\) et \(Z_1\) les cotes de l'eau à l'amont et l'aval de la passe, \(S\) la pente. +avec \(Z_1\) et \(Z_2\) les cotes de l'eau à l'amont et l'aval de la passe, \(S\) la pente. La longueur de la passe le long de la pente \(L_S\) doit être un multiple de la longueur entre les ralentisseurs \(P\) arrondi à l'entier supérieur : @@ -42,9 +42,15 @@ $$L_h = L_S \dfrac{S}{\sqrt{1 + S^2}} $$ ## Nombre de ralentisseurs \(N_b\) +Pour les types plans et Fatou : + $$N_b = L_S / P + 1$$ -## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{r2}\) +Pour les types à fonds suractifs et mixtes : + +$$N_b = L_S / P$$ + +## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{d2}\) $$Z_{r2} = Z_{r1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$ diff --git a/docs/fr/calculators/par/theorie_plans.md b/docs/fr/calculators/par/theorie_plans.md index 5161cb868..c6905b2ef 100644 --- a/docs/fr/calculators/par/theorie_plans.md +++ b/docs/fr/calculators/par/theorie_plans.md @@ -1,8 +1,8 @@ -# Passe à ralentisseurs plans (Denyl) +# Passe à ralentisseurs plans (Denil) ## Caractéristiques géométriques - + *Extrait de Larinier, 2002[^1]* @@ -14,17 +14,17 @@ $$ Q^* = \dfrac{Q}{\sqrt{g}L^{2,5}} $$ à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) : - + -*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 10% (Extrait de Larinier, 2002[^1])* +*Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 10% (Extrait de Larinier, 2002[^1])* - + -*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 15% (Extrait de Larinier, 2002[^1])* +*Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 15% (Extrait de Larinier, 2002[^1])* - + -*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 20% (Extrait de Larinier, 2002[^1])* +*Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 20% (Extrait de Larinier, 2002[^1])* Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\). -- GitLab From 160b0d4af47236e52f56e27abb283ae1f713376b Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@irstea.fr> Date: Thu, 18 Jun 2020 16:34:19 +0200 Subject: [PATCH 034/117] doc: wrong link to the doc in PAR calage and simulation modules Refs #398 --- src/app/calculators/par/config.json | 2 +- src/app/calculators/parsimulation/config.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json index 3d592b2bd..f7acb8797 100644 --- a/src/app/calculators/par/config.json +++ b/src/app/calculators/par/config.json @@ -39,6 +39,6 @@ { "type": "options", "selectIds": [ "select_par_type" ], - "help": "par/par.html" + "help": "par/calage.html" } ] diff --git a/src/app/calculators/parsimulation/config.json b/src/app/calculators/parsimulation/config.json index ae4302401..d2720ea4f 100644 --- a/src/app/calculators/parsimulation/config.json +++ b/src/app/calculators/parsimulation/config.json @@ -55,6 +55,6 @@ { "type": "options", "selectIds": [ "select_par_type" ], - "help": "par/par_simulation.html" + "help": "par/simulation.html" } ] -- GitLab From de87c40b586aa2a1bd1681618c74faa3964e2c08 Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@irstea.fr> Date: Fri, 19 Jun 2020 10:28:22 +0200 Subject: [PATCH 035/117] doc: correction of $L_h$, $Z_{r2}$ and $Z_{d2}$ formula Refs #398 --- docs/fr/calculators/par/formules.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/fr/calculators/par/formules.md b/docs/fr/calculators/par/formules.md index d8744667b..fea7ece75 100644 --- a/docs/fr/calculators/par/formules.md +++ b/docs/fr/calculators/par/formules.md @@ -38,7 +38,7 @@ Avec \(\epsilon\) = 1 mm pour laisser une marge avant le rajout d'un ralentisseu La projection horizontale de la longueur de la passe \(L_h\) est alors égale à : -$$L_h = L_S \dfrac{S}{\sqrt{1 + S^2}} $$ +$$L_h = \dfrac{L_S}{\sqrt{1 + S^2}} $$ ## Nombre de ralentisseurs \(N_b\) @@ -52,6 +52,6 @@ $$N_b = L_S / P$$ ## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{d2}\) -$$Z_{r2} = Z_{r1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$ +$$Z_{r2} = Z_{r1} - \dfrac{L_S \times S}{\sqrt{1 + S^2}}$$ -$$Z_{d2} = Z_{d1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$ +$$Z_{d2} = Z_{r2} + Z_{d1} - Z_{r1}$$ -- GitLab From 3e1e3f64fcb3cc5a5afc01fd273cc71bf9e99b15 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 3 Mar 2020 15:36:22 +0100 Subject: [PATCH 036/117] PAR : calage --- package-lock.json | 326 +++++++++--------------------------- src/app/app.module.ts | 4 +- src/locale/messages.en.json | 1 + src/locale/messages.fr.json | 1 + 4 files changed, 83 insertions(+), 249 deletions(-) diff --git a/package-lock.json b/package-lock.json index e74b6047b..9b10a8f62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -1369,7 +1368,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -3693,7 +3691,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -3702,7 +3699,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", - "dev": true, "requires": { "hosted-git-info": "^3.0.2", "osenv": "^0.1.5", @@ -3713,8 +3709,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -3722,7 +3717,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -3730,14 +3724,12 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -4096,8 +4088,7 @@ "@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" }, "JSONStream": { "version": "1.3.5", @@ -4180,7 +4171,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -4189,7 +4179,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", - "dev": true, "requires": { "humanize-ms": "^1.2.1" } @@ -4208,7 +4197,6 @@ "version": "6.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -4505,8 +4493,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "arg": { "version": "4.1.3", @@ -4616,14 +4603,12 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -4669,8 +4654,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { "version": "1.0.0", @@ -4800,14 +4784,12 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axobject-query": { "version": "2.0.2", @@ -4994,7 +4976,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -5057,8 +5038,7 @@ "bluebird": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" }, "bluebird-lst": { "version": "1.0.9", @@ -5669,8 +5649,7 @@ "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" }, "bytes": { "version": "3.0.0", @@ -5934,8 +5913,7 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "chart.js": { "version": "2.7.3", @@ -6115,8 +6093,7 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "chrome-trace-event": { "version": "1.0.2", @@ -6217,14 +6194,12 @@ "cli-spinners": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", - "dev": true + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "clipboard": { "version": "2.0.4", @@ -6458,7 +6433,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -6697,7 +6671,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -7837,8 +7810,7 @@ "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" }, "d": { "version": "1.0.1", @@ -8142,7 +8114,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -8165,8 +8136,7 @@ "debuglog": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" }, "decache": { "version": "4.5.1", @@ -8243,7 +8213,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, "requires": { "clone": "^1.0.2" }, @@ -8251,8 +8220,7 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" } } }, @@ -8387,8 +8355,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegate": { "version": "3.2.0", @@ -8451,7 +8418,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -8663,7 +8629,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -9010,8 +8975,7 @@ "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 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "2.1.0", @@ -9029,7 +8993,6 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, "requires": { "iconv-lite": "~0.4.13" } @@ -9165,8 +9128,7 @@ "err-code": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" }, "errno": { "version": "0.1.7", @@ -9255,14 +9217,12 @@ "es6-promise": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", - "dev": true + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" }, "es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, "requires": { "es6-promise": "^4.0.3" } @@ -9753,7 +9713,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -9840,8 +9799,7 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "falafel": { "version": "2.1.0", @@ -9884,8 +9842,7 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { "version": "2.2.7", @@ -9909,8 +9866,7 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", @@ -9945,8 +9901,7 @@ "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" }, "figures": { "version": "2.0.0", @@ -10301,14 +10256,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -10351,7 +10304,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -10387,7 +10339,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -10956,8 +10907,7 @@ "genfun": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==" }, "get-assigned-identifiers": { "version": "1.2.0", @@ -10987,7 +10937,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -11195,14 +11144,12 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -11443,8 +11390,7 @@ "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" }, "http-deceiver": { "version": "1.2.7", @@ -11485,7 +11431,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, "requires": { "agent-base": "4", "debug": "3.1.0" @@ -11495,7 +11440,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -11518,7 +11462,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -11535,7 +11478,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -11545,7 +11487,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -11554,7 +11495,6 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -11562,8 +11502,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -11571,7 +11510,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, "requires": { "ms": "^2.0.0" } @@ -11602,8 +11540,7 @@ "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "ignore": { "version": "3.3.10", @@ -11615,7 +11552,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, "requires": { "minimatch": "^3.0.4" } @@ -11680,8 +11616,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { "version": "4.0.0", @@ -11704,8 +11639,7 @@ "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" }, "inflight": { "version": "1.0.6", @@ -11880,8 +11814,7 @@ "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { "version": "2.1.0", @@ -12070,8 +12003,7 @@ "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-negated-glob": { "version": "1.0.0", @@ -12152,8 +12084,7 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, "is-redirect": { "version": "1.0.0", @@ -12221,8 +12152,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unc-path": { "version": "1.0.0", @@ -12283,8 +12213,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-api": { "version": "2.1.6", @@ -12749,8 +12678,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsesc": { "version": "2.5.2", @@ -12773,8 +12701,7 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.4.1", @@ -12785,8 +12712,7 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "3.3.3", @@ -12829,7 +12755,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -13432,7 +13357,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, "requires": { "chalk": "^2.4.2" } @@ -13525,7 +13449,6 @@ "version": "0.25.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", - "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -13549,7 +13472,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, "requires": { "agentkeepalive": "^3.4.1", "cacache": "^12.0.0", @@ -13568,7 +13490,6 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -13591,7 +13512,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13605,7 +13525,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -13614,7 +13533,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -13622,8 +13540,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -13847,14 +13764,12 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, "requires": { "mime-db": "~1.37.0" } @@ -13949,8 +13864,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "3.1.1", @@ -14000,7 +13914,6 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, "requires": { "minipass": "^2.9.0" }, @@ -14009,7 +13922,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -14018,8 +13930,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -14027,7 +13938,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -14066,7 +13976,6 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -14103,7 +14012,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -14370,7 +14278,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "dev": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -14389,14 +14296,12 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" }, "npm-package-arg": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", - "dev": true, "requires": { "hosted-git-info": "^2.6.0", "osenv": "^0.1.5", @@ -14408,7 +14313,6 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dev": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1", @@ -14419,7 +14323,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1", "npm-package-arg": "^6.0.0", @@ -14430,7 +14333,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz", "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==", - "dev": true, "requires": { "JSONStream": "^1.3.4", "bluebird": "^3.5.1", @@ -14445,7 +14347,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -14453,14 +14354,12 @@ "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -14497,8 +14396,7 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", @@ -14579,7 +14477,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -14589,7 +14486,6 @@ "version": "1.17.4", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", - "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -14608,7 +14504,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -14618,20 +14513,17 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -14639,14 +14531,12 @@ "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" } } }, @@ -14794,7 +14684,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", - "dev": true, "requires": { "is-wsl": "^2.1.0" }, @@ -14802,8 +14691,7 @@ "is-wsl": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", - "dev": true + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" } } }, @@ -14858,7 +14746,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", - "dev": true, "requires": { "chalk": "^2.4.2", "cli-cursor": "^3.1.0", @@ -14872,14 +14759,12 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -14888,7 +14773,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -14897,7 +14781,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -14907,7 +14790,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -15065,7 +14947,6 @@ "version": "9.5.8", "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz", "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==", - "dev": true, "requires": { "bluebird": "^3.5.3", "cacache": "^12.0.2", @@ -15102,7 +14983,6 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -15125,7 +15005,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -15141,7 +15020,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -15150,7 +15028,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -15159,7 +15036,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -15168,14 +15044,12 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -15183,8 +15057,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -15197,7 +15070,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -15405,8 +15277,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { "version": "2.0.7", @@ -16190,7 +16061,8 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true }, "process": { "version": "0.11.10", @@ -16223,14 +16095,12 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "promise-retry": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, "requires": { "err-code": "^1.0.0", "retry": "^0.10.0" @@ -16239,8 +16109,7 @@ "retry": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" } } }, @@ -16272,7 +16141,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, "requires": { "genfun": "^5.0.0" } @@ -16433,8 +16301,7 @@ "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", - "dev": true + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" }, "public-encrypt": { "version": "4.0.3", @@ -16486,8 +16353,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "pupa": { "version": "2.0.1", @@ -16772,7 +16638,6 @@ "version": "2.0.13", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", - "dev": true, "requires": { "glob": "^7.1.1", "graceful-fs": "^4.1.2", @@ -16785,7 +16650,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", - "dev": true, "requires": { "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0", @@ -16811,7 +16675,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "dev": true, "requires": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", @@ -16957,7 +16820,6 @@ "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -17099,7 +16961,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -17158,7 +17019,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -17167,7 +17027,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, "requires": { "aproba": "^1.1.1" } @@ -17185,6 +17044,11 @@ "tslib": "^1.9.0" } }, + "rxjs-compat": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz", + "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -17411,7 +17275,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, "requires": { "semver": "^5.0.0" } @@ -17649,8 +17512,7 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" }, "slugify": { "version": "1.4.0", @@ -17660,8 +17522,7 @@ "smart-buffer": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" }, "snapdragon": { "version": "0.8.2", @@ -17922,7 +17783,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, "requires": { "ip": "1.1.5", "smart-buffer": "^4.1.0" @@ -17932,7 +17792,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "dev": true, "requires": { "agent-base": "~4.2.1", "socks": "~2.3.2" @@ -17942,7 +17801,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -17967,8 +17825,7 @@ "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "source-map-loader": { "version": "0.2.4", @@ -18172,7 +18029,6 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -18327,7 +18183,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -18445,7 +18300,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -18455,7 +18309,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -18730,8 +18583,7 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "tapable": { "version": "1.1.3", @@ -18796,7 +18648,6 @@ "version": "4.4.13", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dev": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -18811,7 +18662,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, "requires": { "minipass": "^2.6.0" } @@ -18820,7 +18670,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -18829,8 +18678,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -19148,7 +18996,6 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -19229,7 +19076,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -19238,8 +19084,7 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" } } }, @@ -19407,7 +19252,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -19415,8 +19259,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type": { "version": "1.2.0", @@ -19627,7 +19470,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -19636,7 +19478,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, "requires": { "imurmurhash": "^0.1.4" } @@ -19654,7 +19495,6 @@ "version": "0.4.20", "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", - "dev": true, "requires": { "debug": "^3.0.0", "request": "^2.88.0", @@ -19665,7 +19505,6 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -19673,8 +19512,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -19940,7 +19778,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -20037,7 +19874,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3" } @@ -20128,8 +19964,7 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "valid-identifier": { "version": "0.0.2", @@ -20151,7 +19986,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, "requires": { "builtins": "^1.0.3" } @@ -20172,7 +20006,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -20255,7 +20088,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, "requires": { "defaults": "^1.0.3" } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 15ede0e09..e926b0d43 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input"; import { DragDropModule } from "@angular/cdk/drag-drop"; import { TableModule } from "primeng/table"; -import { KonamiModule } from "ngx-konami"; +/* import { KonamiModule } from "ngx-konami"; */ import { MarkdownModule, MarkedOptions } from "ngx-markdown"; import { FlexLayoutModule } from "@angular/flex-layout"; @@ -174,7 +174,7 @@ const appRoutes: Routes = [ ), StorageServiceModule, TableModule, - KonamiModule + // KonamiModule ], declarations: [ // composants, pipes et directives AppComponent, diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index a99a7e8b7..e1c413855 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -511,6 +511,7 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length", "INFO_EXAMPLES_TITLE": "Examples", "INFO_EXAMPLES_SUBTITLE": "Load standard examples", + "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored", "INFO_YAXB_TITRE": "Linear function", "INFO_YAXB_TITRE_COURT": "Linear f.", "INFO_TRIGO_TITRE": "Trigonometric function", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 79f5ff227..2af5e6c11 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -511,6 +511,7 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir", "INFO_EXAMPLES_TITLE": "Exemples", "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types", + "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée", "INFO_YAXB_TITRE": "Fonction affine", "INFO_YAXB_TITRE_COURT": "F. affine", "INFO_TRIGO_TITRE": "Fonction trigonométrique", -- GitLab From d02d89205f5d79e9aa7b66bffd0c9041e9c34661 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 5 Mar 2020 10:08:53 +0100 Subject: [PATCH 037/117] Update dependencies --- package-lock.json | 502 +++++++++++++++++++++--------------------- src/app/app.module.ts | 4 +- 2 files changed, 250 insertions(+), 256 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9b10a8f62..a5a1acc4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -492,183 +493,6 @@ "requires": { "type-fest": "^0.11.0" } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", - "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "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 - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true } } }, @@ -1191,7 +1015,9 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", "requires": { - "glob": "^7.1.3" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, "source-map": { @@ -1368,6 +1194,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -3089,6 +2916,7 @@ "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", "dev": true, "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3" } }, @@ -3691,6 +3519,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -3699,6 +3528,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", + "dev": true, "requires": { "hosted-git-info": "^3.0.2", "osenv": "^0.1.5", @@ -3709,7 +3539,8 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, @@ -3717,6 +3548,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -3724,12 +3556,14 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -4088,7 +3922,8 @@ "@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true }, "JSONStream": { "version": "1.3.5", @@ -4171,6 +4006,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -4179,6 +4015,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "dev": true, "requires": { "humanize-ms": "^1.2.1" } @@ -4197,6 +4034,7 @@ "version": "6.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -4493,7 +4331,8 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "arg": { "version": "4.1.3", @@ -4603,12 +4442,14 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -4654,7 +4495,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -4784,12 +4626,14 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true }, "axobject-query": { "version": "2.0.2", @@ -4976,6 +4820,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -5038,7 +4883,8 @@ "bluebird": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true }, "bluebird-lst": { "version": "1.0.9", @@ -5649,7 +5495,8 @@ "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true }, "bytes": { "version": "3.0.0", @@ -5913,7 +5760,8 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true }, "chart.js": { "version": "2.7.3", @@ -6093,7 +5941,8 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "chrome-trace-event": { "version": "1.0.2", @@ -6194,12 +6043,14 @@ "cli-spinners": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true }, "clipboard": { "version": "2.0.4", @@ -6433,6 +6284,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -6671,6 +6523,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -7810,7 +7663,8 @@ "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true }, "d": { "version": "1.0.1", @@ -8114,6 +7968,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -8136,7 +7991,8 @@ "debuglog": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true }, "decache": { "version": "4.5.1", @@ -8213,6 +8069,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, "requires": { "clone": "^1.0.2" }, @@ -8220,7 +8077,8 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true } } }, @@ -8355,7 +8213,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegate": { "version": "3.2.0", @@ -8418,6 +8277,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -8629,6 +8489,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -8975,7 +8836,8 @@ "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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "emojis-list": { "version": "2.1.0", @@ -8993,6 +8855,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, "requires": { "iconv-lite": "~0.4.13" } @@ -9128,7 +8991,8 @@ "err-code": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "dev": true }, "errno": { "version": "0.1.7", @@ -9217,12 +9081,14 @@ "es6-promise": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "dev": true }, "es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, "requires": { "es6-promise": "^4.0.3" } @@ -9713,6 +9579,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -9799,7 +9666,8 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "falafel": { "version": "2.1.0", @@ -9842,7 +9710,8 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true }, "fast-glob": { "version": "2.2.7", @@ -9866,7 +9735,8 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -9901,7 +9771,8 @@ "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true }, "figures": { "version": "2.0.0", @@ -10256,12 +10127,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -10304,6 +10177,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -10339,6 +10213,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -10937,6 +10812,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -11144,12 +11020,14 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -11390,7 +11268,8 @@ "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true }, "http-deceiver": { "version": "1.2.7", @@ -11431,6 +11310,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, "requires": { "agent-base": "4", "debug": "3.1.0" @@ -11440,6 +11320,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -11462,6 +11343,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -11478,6 +11360,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -11487,6 +11370,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -11495,6 +11379,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -11502,7 +11387,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -11510,6 +11396,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, "requires": { "ms": "^2.0.0" } @@ -11540,7 +11427,8 @@ "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true }, "ignore": { "version": "3.3.10", @@ -11552,6 +11440,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, "requires": { "minimatch": "^3.0.4" } @@ -11616,7 +11505,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "indent-string": { "version": "4.0.0", @@ -11639,7 +11529,8 @@ "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, "inflight": { "version": "1.0.6", @@ -11814,7 +11705,8 @@ "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true }, "ip-regex": { "version": "2.1.0", @@ -12003,7 +11895,8 @@ "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true }, "is-negated-glob": { "version": "1.0.0", @@ -12084,7 +11977,8 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true }, "is-redirect": { "version": "1.0.0", @@ -12152,7 +12046,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-unc-path": { "version": "1.0.0", @@ -12213,7 +12108,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "istanbul-api": { "version": "2.1.6", @@ -12678,7 +12574,8 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, "jsesc": { "version": "2.5.2", @@ -12701,7 +12598,8 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", @@ -12712,7 +12610,8 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json3": { "version": "3.3.3", @@ -12755,6 +12654,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -13357,6 +13257,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, "requires": { "chalk": "^2.4.2" } @@ -13449,6 +13350,7 @@ "version": "0.25.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", + "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -13472,6 +13374,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", + "dev": true, "requires": { "agentkeepalive": "^3.4.1", "cacache": "^12.0.0", @@ -13490,6 +13393,7 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -13512,6 +13416,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13525,6 +13430,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -13533,6 +13439,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -13540,7 +13447,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -13764,12 +13672,14 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, "requires": { "mime-db": "~1.37.0" } @@ -13864,7 +13774,8 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "minipass": { "version": "3.1.1", @@ -13914,6 +13825,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, "requires": { "minipass": "^2.9.0" }, @@ -13922,6 +13834,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -13930,7 +13843,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -13938,6 +13852,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -13976,6 +13891,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -14012,6 +13928,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -14278,6 +14195,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -14296,12 +14214,14 @@ "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true }, "npm-package-arg": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", + "dev": true, "requires": { "hosted-git-info": "^2.6.0", "osenv": "^0.1.5", @@ -14313,6 +14233,7 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "dev": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1", @@ -14323,6 +14244,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "dev": true, "requires": { "figgy-pudding": "^3.5.1", "npm-package-arg": "^6.0.0", @@ -14333,6 +14255,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz", "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==", + "dev": true, "requires": { "JSONStream": "^1.3.4", "bluebird": "^3.5.1", @@ -14347,6 +14270,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -14354,12 +14278,14 @@ "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -14396,7 +14322,8 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -14477,6 +14404,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -14486,6 +14414,7 @@ "version": "1.17.4", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -14504,6 +14433,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -14513,17 +14443,20 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true }, "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, "requires": { "has": "^1.0.3" } @@ -14531,12 +14464,14 @@ "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true } } }, @@ -14684,6 +14619,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", + "dev": true, "requires": { "is-wsl": "^2.1.0" }, @@ -14691,7 +14627,8 @@ "is-wsl": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "dev": true } } }, @@ -14746,6 +14683,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", + "dev": true, "requires": { "chalk": "^2.4.2", "cli-cursor": "^3.1.0", @@ -14759,12 +14697,14 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -14773,6 +14713,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -14781,6 +14722,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -14790,6 +14732,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -14947,6 +14890,7 @@ "version": "9.5.8", "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz", "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==", + "dev": true, "requires": { "bluebird": "^3.5.3", "cacache": "^12.0.2", @@ -14983,6 +14927,7 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -15005,6 +14950,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -15020,6 +14966,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { "pump": "^3.0.0" } @@ -15028,6 +14975,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { "yallist": "^3.0.2" } @@ -15036,6 +14984,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -15044,12 +14993,14 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -15057,7 +15008,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -15070,6 +15022,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -15277,7 +15230,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "picomatch": { "version": "2.0.7", @@ -16095,12 +16049,14 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true }, "promise-retry": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "dev": true, "requires": { "err-code": "^1.0.0", "retry": "^0.10.0" @@ -16109,7 +16065,8 @@ "retry": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "dev": true } } }, @@ -16141,6 +16098,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", + "dev": true, "requires": { "genfun": "^5.0.0" } @@ -16301,7 +16259,8 @@ "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -16353,7 +16312,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "pupa": { "version": "2.0.1", @@ -16638,6 +16598,7 @@ "version": "2.0.13", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", + "dev": true, "requires": { "glob": "^7.1.1", "graceful-fs": "^4.1.2", @@ -16650,6 +16611,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "dev": true, "requires": { "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0", @@ -16675,6 +16637,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "dev": true, "requires": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", @@ -16820,6 +16783,7 @@ "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -16961,6 +16925,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "requires": { "glob": "^7.1.3" } @@ -17019,6 +16984,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -17027,6 +16993,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, "requires": { "aproba": "^1.1.1" } @@ -17044,11 +17011,6 @@ "tslib": "^1.9.0" } }, - "rxjs-compat": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz", - "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -17275,6 +17237,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", + "dev": true, "requires": { "semver": "^5.0.0" } @@ -17512,7 +17475,8 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "slugify": { "version": "1.4.0", @@ -17522,7 +17486,8 @@ "smart-buffer": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "dev": true }, "snapdragon": { "version": "0.8.2", @@ -17783,6 +17748,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "dev": true, "requires": { "ip": "1.1.5", "smart-buffer": "^4.1.0" @@ -17792,6 +17758,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "dev": true, "requires": { "agent-base": "~4.2.1", "socks": "~2.3.2" @@ -17801,6 +17768,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, "requires": { "es6-promisify": "^5.0.0" } @@ -17825,7 +17793,8 @@ "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true }, "source-map-loader": { "version": "0.2.4", @@ -18029,6 +17998,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -18183,6 +18153,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -18300,6 +18271,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -18309,6 +18281,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -18583,7 +18556,8 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true }, "tapable": { "version": "1.1.3", @@ -18648,6 +18622,7 @@ "version": "4.4.13", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "dev": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -18662,6 +18637,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, "requires": { "minipass": "^2.6.0" } @@ -18670,6 +18646,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -18678,7 +18655,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -18996,6 +18974,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -19076,6 +19055,7 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -19084,7 +19064,8 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true } } }, @@ -19252,6 +19233,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -19259,7 +19241,8 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true }, "type": { "version": "1.2.0", @@ -19470,6 +19453,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -19478,6 +19462,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, "requires": { "imurmurhash": "^0.1.4" } @@ -19495,6 +19480,7 @@ "version": "0.4.20", "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", + "dev": true, "requires": { "debug": "^3.0.0", "request": "^2.88.0", @@ -19505,6 +19491,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -19512,7 +19499,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -19778,6 +19766,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -19874,6 +19863,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3" } @@ -19964,7 +19954,8 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true }, "valid-identifier": { "version": "0.0.2", @@ -19986,6 +19977,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, "requires": { "builtins": "^1.0.3" } @@ -20006,6 +19998,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -20088,6 +20081,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, "requires": { "defaults": "^1.0.3" } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e926b0d43..15ede0e09 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input"; import { DragDropModule } from "@angular/cdk/drag-drop"; import { TableModule } from "primeng/table"; -/* import { KonamiModule } from "ngx-konami"; */ +import { KonamiModule } from "ngx-konami"; import { MarkdownModule, MarkedOptions } from "ngx-markdown"; import { FlexLayoutModule } from "@angular/flex-layout"; @@ -174,7 +174,7 @@ const appRoutes: Routes = [ ), StorageServiceModule, TableModule, - // KonamiModule + KonamiModule ], declarations: [ // composants, pipes et directives AppComponent, -- GitLab From e2a4cb66f96f892930e9fb01af8c6ddc58c8b1c5 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 5 Mar 2020 11:05:50 +0100 Subject: [PATCH 038/117] Convert info to warning --- src/locale/messages.en.json | 1 - src/locale/messages.fr.json | 1 - 2 files changed, 2 deletions(-) diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index e1c413855..a99a7e8b7 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -511,7 +511,6 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length", "INFO_EXAMPLES_TITLE": "Examples", "INFO_EXAMPLES_SUBTITLE": "Load standard examples", - "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored", "INFO_YAXB_TITRE": "Linear function", "INFO_YAXB_TITRE_COURT": "Linear f.", "INFO_TRIGO_TITRE": "Trigonometric function", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 2af5e6c11..79f5ff227 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -511,7 +511,6 @@ "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir", "INFO_EXAMPLES_TITLE": "Exemples", "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types", - "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée", "INFO_YAXB_TITRE": "Fonction affine", "INFO_YAXB_TITRE_COURT": "F. affine", "INFO_TRIGO_TITRE": "Fonction trigonométrique", -- GitLab From c530c5a428ee750e0fadd489c84d7724f7a64bc0 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 17 Mar 2020 17:46:30 +0100 Subject: [PATCH 039/117] PAR : simulation --- src/app/formulaire/definition/form-fixedvar.ts | 1 + src/locale/messages.en.json | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index 20314b520..9d81bb96c 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -91,6 +91,7 @@ export class FormulaireFixedVar extends FormulaireDefinition { this.runNubCalc(this.currentNub); this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization this.reaffectResultComponents(); + this.refreshFieldsets(); } protected reaffectResultComponents() { diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index a99a7e8b7..262ab29b8 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -392,11 +392,11 @@ "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power", "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power", "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures", + "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", + "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures", "INFO_PAR_TITRE": "Humpback fishway: setup", "INFO_PAR_TITRE_COURT": "HF: setup", - "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", - "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation", "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions", "INFO_PARAMFIELD_CALCULATED": "Calculated", -- GitLab From f058a2cb7be2de22ad91460d7680b5ea76265d9e Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 19 Mar 2020 09:42:29 +0100 Subject: [PATCH 040/117] Update package-lock --- package-lock.json | 531 ++++++++++++++++++++-------------------------- 1 file changed, 231 insertions(+), 300 deletions(-) diff --git a/package-lock.json b/package-lock.json index a5a1acc4a..e9602ffd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -143,6 +143,23 @@ "uri-js": "^4.2.2" } }, + "browserslist": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", + "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001030", + "electron-to-chromium": "^1.3.363", + "node-releases": "^1.1.50" + } + }, + "caniuse-lite": { + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "dev": true + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -385,6 +402,16 @@ "source-map": "0.7.3" }, "dependencies": { + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -479,6 +506,16 @@ "uuid": "^3.3.2" }, "dependencies": { + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -526,6 +563,101 @@ "yargs": "13.1.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", @@ -573,6 +705,14 @@ "readdirp": "~3.3.0" } }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -651,6 +791,11 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -1527,7 +1672,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -1536,7 +1680,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -1645,7 +1788,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", - "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -1654,7 +1796,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -1824,7 +1965,6 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", - "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.8.3", "@babel/helper-optimise-call-expression": "^7.8.3", @@ -1836,7 +1976,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -1857,7 +1996,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", @@ -1868,7 +2006,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -1877,7 +2014,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -1886,7 +2022,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -1903,7 +2038,6 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -1914,7 +2048,6 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/generator": "^7.8.6", @@ -1931,7 +2064,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -1942,7 +2074,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -1950,14 +2081,12 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -1965,7 +2094,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", - "dev": true, "requires": { "@babel/template": "^7.8.3", "@babel/types": "^7.8.3" @@ -1975,7 +2103,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -1984,7 +2111,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2001,7 +2127,6 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2012,7 +2137,6 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2582,6 +2706,21 @@ "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "minimist": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, @@ -4177,7 +4316,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" }, @@ -4186,7 +4324,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -4194,8 +4331,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" } } }, @@ -4209,7 +4345,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -4362,20 +4497,17 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-differ": { "version": "1.0.0", @@ -4424,8 +4556,7 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "arraybuffer.slice": { "version": "0.0.7", @@ -4501,8 +4632,7 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "ast-transform": { "version": "0.0.0", @@ -4581,8 +4711,7 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, "async-exit-hook": { "version": "2.0.1", @@ -4605,8 +4734,7 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { "version": "9.7.1", @@ -4733,7 +4861,6 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -4748,7 +4875,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -4757,7 +4883,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4766,7 +4891,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4775,7 +4899,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -4854,8 +4977,7 @@ "binary-extensions": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", - "dev": true + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" }, "blob": { "version": "0.0.5", @@ -5115,7 +5237,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -5133,7 +5254,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -5580,7 +5700,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -5739,7 +5858,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5750,7 +5868,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -5985,7 +6102,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -5997,7 +6113,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -6215,7 +6330,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -6334,8 +6448,7 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "component-inherit": { "version": "0.0.3", @@ -6536,8 +6649,7 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { "version": "5.1.1", @@ -7239,8 +7351,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cors": { "version": "2.8.5", @@ -7983,7 +8094,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -8012,8 +8122,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "decompress-response": { "version": "3.3.0", @@ -8100,7 +8209,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8110,7 +8218,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8119,7 +8226,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8128,7 +8234,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -9143,8 +9248,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escaper": { "version": "2.5.3", @@ -9213,8 +9317,7 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.8.1", @@ -9319,7 +9422,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -9334,7 +9436,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -9343,7 +9444,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -9558,7 +9658,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -9568,7 +9667,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -9590,7 +9688,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -9606,7 +9703,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -9615,7 +9711,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -9624,7 +9719,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -9633,7 +9727,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -9642,7 +9735,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -9710,8 +9802,7 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { "version": "2.2.7", @@ -9735,8 +9826,7 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", @@ -9842,7 +9932,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -9854,7 +9943,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10115,8 +10203,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "foreach": { "version": "2.0.5", @@ -10156,7 +10243,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -10230,7 +10316,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", - "dev": true, "optional": true, "requires": { "nan": "^2.9.2", @@ -10240,25 +10325,21 @@ "abbrev": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, - "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -10268,13 +10349,11 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -10284,37 +10363,31 @@ "chownr": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, - "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -10323,25 +10396,21 @@ "deep-extend": { "version": "0.6.0", "bundled": true, - "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, - "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10350,13 +10419,11 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -10372,7 +10439,6 @@ "glob": { "version": "7.1.3", "bundled": true, - "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -10386,13 +10452,11 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, - "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -10401,7 +10465,6 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -10410,7 +10473,6 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, "optional": true, "requires": { "once": "^1.3.0", @@ -10420,19 +10482,16 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, - "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -10441,13 +10500,11 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -10456,13 +10513,11 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -10472,7 +10527,6 @@ "minizlib": { "version": "1.2.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10481,7 +10535,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minimist": "0.0.8" @@ -10490,13 +10543,11 @@ "ms": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "needle": { "version": "2.2.4", "bundled": true, - "dev": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -10507,7 +10558,6 @@ "node-pre-gyp": { "version": "0.10.3", "bundled": true, - "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -10525,7 +10575,6 @@ "nopt": { "version": "4.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "abbrev": "1", @@ -10535,13 +10584,11 @@ "npm-bundled": { "version": "1.0.5", "bundled": true, - "dev": true, "optional": true }, "npm-packlist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -10551,7 +10598,6 @@ "npmlog": { "version": "4.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -10563,19 +10609,16 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "wrappy": "1" @@ -10584,19 +10627,16 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, - "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -10606,19 +10646,16 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "rc": { "version": "1.2.8", "bundled": true, - "dev": true, "optional": true, "requires": { "deep-extend": "^0.6.0", @@ -10630,7 +10667,6 @@ "minimist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true } } @@ -10638,7 +10674,6 @@ "readable-stream": { "version": "2.3.6", "bundled": true, - "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -10653,7 +10688,6 @@ "rimraf": { "version": "2.6.3", "bundled": true, - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -10662,43 +10696,36 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, - "dev": true, "optional": true }, "semver": { "version": "5.6.0", "bundled": true, - "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true, "requires": { "code-point-at": "^1.0.0", @@ -10709,7 +10736,6 @@ "string_decoder": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -10718,7 +10744,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -10727,13 +10752,11 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "tar": { "version": "4.4.8", "bundled": true, - "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", @@ -10748,13 +10771,11 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, - "dev": true, "optional": true, "requires": { "string-width": "^1.0.2 || 2" @@ -10763,13 +10784,11 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, "optional": true } } @@ -10784,6 +10803,12 @@ "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==" }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -10805,8 +10830,7 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getpass": { "version": "0.1.7", @@ -10834,7 +10858,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -10844,7 +10867,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -10907,8 +10929,7 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globalthis": { "version": "1.0.1", @@ -11076,8 +11097,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", @@ -11088,7 +11108,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11099,7 +11118,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -11109,7 +11127,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11740,7 +11757,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11749,7 +11765,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11766,7 +11781,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -11774,8 +11788,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { "version": "1.1.4", @@ -11809,7 +11822,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11818,7 +11830,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11834,7 +11845,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -11844,8 +11854,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -11858,14 +11867,12 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -11877,7 +11884,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -11914,7 +11920,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11923,7 +11928,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11969,7 +11973,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -12067,8 +12070,7 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "1.1.0", @@ -12085,8 +12087,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isbinaryfile": { "version": "4.0.4", @@ -12102,8 +12103,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isstream": { "version": "0.1.2", @@ -12321,6 +12321,15 @@ "to-fast-properties": "^2.0.0" } }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -12550,8 +12559,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.1", @@ -12580,8 +12588,7 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json-buffer": { "version": "3.0.0", @@ -12604,8 +12611,7 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", @@ -13470,8 +13476,7 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-stream": { "version": "0.1.0", @@ -13483,7 +13488,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -13636,7 +13640,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -13870,7 +13873,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -13880,7 +13882,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -13941,8 +13942,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.3", @@ -13982,14 +13982,12 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14174,7 +14172,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -14341,7 +14338,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -14352,7 +14348,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -14361,7 +14356,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -14383,7 +14377,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "^3.0.0" } @@ -14479,7 +14472,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -15107,8 +15099,7 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path-browserify": { "version": "0.0.1", @@ -15119,8 +15110,7 @@ "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", @@ -15370,8 +15360,7 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { "version": "7.0.21", @@ -16015,8 +16004,7 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", @@ -16027,8 +16015,7 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "progress": { "version": "2.0.3", @@ -16312,17 +16299,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "pupa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", - "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "q": { "version": "1.4.1", @@ -16622,7 +16599,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -16649,7 +16625,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -16665,8 +16640,7 @@ "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { "version": "8.2.0", @@ -16697,7 +16671,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -16764,20 +16737,17 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "request": { "version": "2.88.0", @@ -16852,8 +16822,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "responselike": { "version": "1.0.2", @@ -16894,8 +16863,7 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retry": { "version": "0.12.0", @@ -17014,14 +16982,12 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "~0.1.10" } @@ -17375,7 +17341,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -17387,7 +17352,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17493,7 +17457,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -17509,7 +17472,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -17518,7 +17480,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17526,8 +17487,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -17535,7 +17495,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -17546,7 +17505,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -17555,7 +17513,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -17564,7 +17521,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -17573,7 +17529,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -17586,7 +17541,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -17595,7 +17549,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -17810,7 +17763,6 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -17840,8 +17792,7 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "sourcemap-codec": { "version": "1.4.8", @@ -17975,7 +17926,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -18074,7 +18024,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -18084,7 +18033,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -18291,7 +18239,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -18994,14 +18941,12 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -19010,7 +18955,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -19027,7 +18971,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -19039,7 +18982,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -19354,14 +19296,12 @@ "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" @@ -19429,7 +19369,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -19531,7 +19470,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -19541,7 +19479,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -19552,7 +19489,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -19562,8 +19498,7 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" } } }, @@ -19766,7 +19701,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -19774,8 +19708,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.11.0", @@ -19825,8 +19758,7 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "useragent": { "version": "2.3.0", @@ -19856,8 +19788,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util-promisify": { "version": "2.1.0", -- GitLab From f6e9a37dc7e0b29c9cbaa86cd0db6e0c511b8934 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 20 Mar 2020 10:40:15 +0100 Subject: [PATCH 041/117] Update dependencies --- package-lock.json | 521 +++++++++++++++++++++++++--------------------- 1 file changed, 289 insertions(+), 232 deletions(-) diff --git a/package-lock.json b/package-lock.json index e9602ffd1..c356e9f07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -143,23 +143,6 @@ "uri-js": "^4.2.2" } }, - "browserslist": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", - "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001030", - "electron-to-chromium": "^1.3.363", - "node-releases": "^1.1.50" - } - }, - "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -402,16 +385,6 @@ "source-map": "0.7.3" }, "dependencies": { - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -506,16 +479,6 @@ "uuid": "^3.3.2" }, "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -563,101 +526,6 @@ "yargs": "13.1.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", @@ -705,14 +573,6 @@ "readdirp": "~3.3.0" } }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -791,11 +651,6 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -1672,6 +1527,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -1680,6 +1536,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -1788,6 +1645,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "dev": true, "requires": { "@babel/types": "^7.8.3" }, @@ -1796,6 +1654,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -1965,6 +1824,7 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.8.3", "@babel/helper-optimise-call-expression": "^7.8.3", @@ -1976,6 +1836,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -1996,6 +1857,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", @@ -2006,6 +1868,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -2014,6 +1877,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -2022,6 +1886,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2038,6 +1903,7 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2048,6 +1914,7 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/generator": "^7.8.6", @@ -2064,6 +1931,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2074,6 +1942,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -2081,12 +1950,14 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -2094,6 +1965,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, "requires": { "@babel/template": "^7.8.3", "@babel/types": "^7.8.3" @@ -2103,6 +1975,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, "requires": { "@babel/highlight": "^7.8.3" } @@ -2111,6 +1984,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -2127,6 +2001,7 @@ "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, "requires": { "@babel/code-frame": "^7.8.3", "@babel/parser": "^7.8.6", @@ -2137,6 +2012,7 @@ "version": "7.8.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2706,21 +2582,6 @@ "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, @@ -4316,6 +4177,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" }, @@ -4324,6 +4186,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -4331,7 +4194,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true } } }, @@ -4345,6 +4209,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -4497,17 +4362,20 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, "array-differ": { "version": "1.0.0", @@ -4556,7 +4424,8 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "arraybuffer.slice": { "version": "0.0.7", @@ -4632,7 +4501,8 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "ast-transform": { "version": "0.0.0", @@ -4711,7 +4581,8 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true }, "async-exit-hook": { "version": "2.0.1", @@ -4734,7 +4605,8 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, "autoprefixer": { "version": "9.7.1", @@ -4861,6 +4733,7 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -4875,6 +4748,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -4883,6 +4757,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4891,6 +4766,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4899,6 +4775,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -4977,7 +4854,8 @@ "binary-extensions": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", + "dev": true }, "blob": { "version": "0.0.5", @@ -5237,6 +5115,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -5254,6 +5133,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -5700,6 +5580,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -5858,6 +5739,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5868,6 +5750,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -6102,6 +5985,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -6113,6 +5997,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -6330,6 +6215,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -6448,7 +6334,8 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true }, "component-inherit": { "version": "0.0.3", @@ -6649,7 +6536,8 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, "copy-webpack-plugin": { "version": "5.1.1", @@ -7351,7 +7239,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cors": { "version": "2.8.5", @@ -8094,6 +7983,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -8122,7 +8012,8 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true }, "decompress-response": { "version": "3.3.0", @@ -8209,6 +8100,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8218,6 +8110,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8226,6 +8119,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8234,6 +8128,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -9248,7 +9143,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escaper": { "version": "2.5.3", @@ -9317,7 +9213,8 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "etag": { "version": "1.8.1", @@ -9422,6 +9319,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -9436,6 +9334,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -9444,6 +9343,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -9658,6 +9558,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -9667,6 +9568,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -9688,6 +9590,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -9703,6 +9606,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -9711,6 +9615,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -9719,6 +9624,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -9727,6 +9633,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -9735,6 +9642,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -9763,12 +9671,10 @@ }, "falafel": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", - "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "resolved": "", "dev": true, "requires": { "acorn": "^5.0.0", - "foreach": "^2.0.5", "isarray": "0.0.1", "object-keys": "^1.0.6" }, @@ -9802,7 +9708,8 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true }, "fast-glob": { "version": "2.2.7", @@ -9826,7 +9733,8 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -9932,6 +9840,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -9943,6 +9852,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10203,12 +10113,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "forever-agent": { @@ -10243,6 +10148,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -10316,6 +10222,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, "optional": true, "requires": { "nan": "^2.9.2", @@ -10325,21 +10232,25 @@ "abbrev": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, + "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, + "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -10349,11 +10260,13 @@ "balanced-match": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -10363,31 +10276,37 @@ "chownr": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, + "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, + "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -10396,21 +10315,25 @@ "deep-extend": { "version": "0.6.0", "bundled": true, + "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, + "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, + "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10419,11 +10342,13 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, + "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -10439,6 +10364,7 @@ "glob": { "version": "7.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -10452,11 +10378,13 @@ "has-unicode": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, + "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -10465,6 +10393,7 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -10473,6 +10402,7 @@ "inflight": { "version": "1.0.6", "bundled": true, + "dev": true, "optional": true, "requires": { "once": "^1.3.0", @@ -10482,16 +10412,19 @@ "inherits": { "version": "2.0.3", "bundled": true, + "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, + "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -10500,11 +10433,13 @@ "isarray": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, + "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -10513,11 +10448,13 @@ "minimist": { "version": "0.0.8", "bundled": true, + "dev": true, "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -10527,6 +10464,7 @@ "minizlib": { "version": "1.2.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10535,6 +10473,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "dev": true, "optional": true, "requires": { "minimist": "0.0.8" @@ -10543,11 +10482,13 @@ "ms": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "needle": { "version": "2.2.4", "bundled": true, + "dev": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -10558,6 +10499,7 @@ "node-pre-gyp": { "version": "0.10.3", "bundled": true, + "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -10575,6 +10517,7 @@ "nopt": { "version": "4.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "abbrev": "1", @@ -10584,11 +10527,13 @@ "npm-bundled": { "version": "1.0.5", "bundled": true, + "dev": true, "optional": true }, "npm-packlist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -10598,6 +10543,7 @@ "npmlog": { "version": "4.1.2", "bundled": true, + "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -10609,16 +10555,19 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, + "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, + "dev": true, "optional": true, "requires": { "wrappy": "1" @@ -10627,16 +10576,19 @@ "os-homedir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, + "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -10646,16 +10598,19 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "rc": { "version": "1.2.8", "bundled": true, + "dev": true, "optional": true, "requires": { "deep-extend": "^0.6.0", @@ -10667,6 +10622,7 @@ "minimist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true } } @@ -10674,6 +10630,7 @@ "readable-stream": { "version": "2.3.6", "bundled": true, + "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -10688,6 +10645,7 @@ "rimraf": { "version": "2.6.3", "bundled": true, + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -10696,36 +10654,43 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, + "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, + "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, + "dev": true, "optional": true }, "semver": { "version": "5.6.0", "bundled": true, + "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, + "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true, "requires": { "code-point-at": "^1.0.0", @@ -10736,6 +10701,7 @@ "string_decoder": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -10744,6 +10710,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -10752,11 +10719,13 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "tar": { "version": "4.4.8", "bundled": true, + "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", @@ -10771,11 +10740,13 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "string-width": "^1.0.2 || 2" @@ -10784,11 +10755,13 @@ "wrappy": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, + "dev": true, "optional": true } } @@ -10830,7 +10803,8 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true }, "getpass": { "version": "0.1.7", @@ -10858,6 +10832,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -10867,6 +10842,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -10929,7 +10905,8 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, "globalthis": { "version": "1.0.1", @@ -11097,7 +11074,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { "version": "1.0.0", @@ -11108,6 +11086,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11118,6 +11097,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -11127,6 +11107,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11757,6 +11738,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11765,6 +11747,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11781,6 +11764,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -11788,7 +11772,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-callable": { "version": "1.1.4", @@ -11822,6 +11807,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11830,6 +11816,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11845,6 +11832,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -11854,7 +11842,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -11867,12 +11856,14 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -11884,6 +11875,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -11920,6 +11912,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11928,6 +11921,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11973,6 +11967,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -12070,7 +12065,8 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-wsl": { "version": "1.1.0", @@ -12087,7 +12083,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isbinaryfile": { "version": "4.0.4", @@ -12103,7 +12100,8 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "isstream": { "version": "0.1.2", @@ -12321,15 +12319,6 @@ "to-fast-properties": "^2.0.0" } }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -12559,7 +12548,8 @@ "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 }, "js-yaml": { "version": "3.13.1", @@ -12588,7 +12578,8 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, "json-buffer": { "version": "3.0.0", @@ -12611,7 +12602,8 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -13476,7 +13468,8 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-stream": { "version": "0.1.0", @@ -13488,6 +13481,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -13640,6 +13634,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -13873,6 +13868,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -13882,6 +13878,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -13942,7 +13939,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multicast-dns": { "version": "6.2.3", @@ -13982,12 +13980,14 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", + "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14172,6 +14172,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -14338,6 +14339,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -14348,6 +14350,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -14356,6 +14359,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -14377,6 +14381,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -14472,6 +14477,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -15099,7 +15105,8 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-browserify": { "version": "0.0.1", @@ -15110,7 +15117,8 @@ "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-exists": { "version": "3.0.0", @@ -15360,7 +15368,8 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "postcss": { "version": "7.0.21", @@ -16015,7 +16024,8 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true }, "progress": { "version": "2.0.3", @@ -16299,7 +16309,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "q": { "version": "1.4.1", @@ -16599,6 +16610,7 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -16625,6 +16637,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -16640,7 +16653,8 @@ "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true }, "regenerate-unicode-properties": { "version": "8.2.0", @@ -16671,6 +16685,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -16737,17 +16752,20 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "request": { "version": "2.88.0", @@ -16822,7 +16840,8 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "responselike": { "version": "1.0.2", @@ -16863,7 +16882,8 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "retry": { "version": "0.12.0", @@ -16982,12 +17002,14 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -17341,6 +17363,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -17352,6 +17375,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17457,6 +17481,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -17472,6 +17497,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -17480,6 +17506,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -17487,7 +17514,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -17495,6 +17523,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -17505,6 +17534,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -17513,6 +17543,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -17521,6 +17552,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -17529,6 +17561,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -17541,6 +17574,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -17549,6 +17583,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -17763,6 +17798,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -17792,7 +17828,8 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "sourcemap-codec": { "version": "1.4.8", @@ -17926,6 +17963,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -18024,6 +18062,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -18033,6 +18072,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -18239,6 +18279,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -18941,12 +18982,14 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -18955,6 +18998,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -18971,6 +19015,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -18982,6 +19027,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -19296,12 +19342,14 @@ "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" @@ -19369,6 +19417,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -19470,6 +19519,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -19479,6 +19529,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -19489,6 +19540,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -19498,7 +19550,8 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true } } }, @@ -19701,6 +19754,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -19708,7 +19762,8 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url": { "version": "0.11.0", @@ -19758,7 +19813,8 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "useragent": { "version": "2.3.0", @@ -19788,7 +19844,8 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "util-promisify": { "version": "2.1.0", -- GitLab From 606000fa51c4bbe0e2bb854f5154f210e7b76a3c Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 20 Mar 2020 15:24:48 +0100 Subject: [PATCH 042/117] Fix #382 - PAR: add button to generate ParSimulation --- src/locale/messages.en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 262ab29b8..a99a7e8b7 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -392,11 +392,11 @@ "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power", "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power", "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures", - "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", - "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures", "INFO_PAR_TITRE": "Humpback fishway: setup", "INFO_PAR_TITRE_COURT": "HF: setup", + "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation", + "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation", "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation", "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions", "INFO_PARAMFIELD_CALCULATED": "Calculated", -- GitLab From d4c50a5ed70e7f3af00292d10291dece6f09a814 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 23 Mar 2020 11:31:12 +0100 Subject: [PATCH 043/117] Fix bug in fieldsets refresh after compute --- src/app/formulaire/definition/form-fixedvar.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index 9d81bb96c..20314b520 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -91,7 +91,6 @@ export class FormulaireFixedVar extends FormulaireDefinition { this.runNubCalc(this.currentNub); this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization this.reaffectResultComponents(); - this.refreshFieldsets(); } protected reaffectResultComponents() { -- GitLab From be87d9549b3113473cba60670a85c8b2799079f9 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 27 Mar 2020 10:38:55 +0100 Subject: [PATCH 044/117] Fix #384 - Cordova: updates notifications --- package-lock.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index c356e9f07..315d1c889 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9671,10 +9671,12 @@ }, "falafel": { "version": "2.1.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", "dev": true, "requires": { "acorn": "^5.0.0", + "foreach": "^2.0.5", "isarray": "0.0.1", "object-keys": "^1.0.6" }, @@ -10116,6 +10118,12 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", -- GitLab From 714e253739a73e95f3eeaa5426794b766fe46531 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 26 May 2020 09:59:17 +0200 Subject: [PATCH 045/117] Work on GUI for Prebarrage --- src/app/app.module.ts | 2 + src/app/calculators/prebarrage/config.json | 34 ++ src/app/calculators/prebarrage/en.json | 12 + src/app/calculators/prebarrage/fr.json | 10 + .../calculator-list.component.ts | 12 +- .../calculator.component.html | 51 ++- .../calculator.component.scss | 4 + .../calculator.component.ts | 25 +- .../pb-schema/pb-schema.component.html | 62 +++ .../pb-schema/pb-schema.component.scss | 58 +++ .../pb-schema/pb-schema.component.ts | 399 ++++++++++++++++++ src/app/config.json | 2 +- .../formulaire/definition/form-definition.ts | 12 + src/app/formulaire/elements/pab-table.ts | 5 - src/app/formulaire/elements/pb-schema.ts | 32 ++ src/locale/messages.en.json | 5 + src/locale/messages.fr.json | 5 + 17 files changed, 695 insertions(+), 35 deletions(-) create mode 100644 src/app/calculators/prebarrage/config.json create mode 100644 src/app/calculators/prebarrage/en.json create mode 100644 src/app/calculators/prebarrage/fr.json create mode 100644 src/app/components/pb-schema/pb-schema.component.html create mode 100644 src/app/components/pb-schema/pb-schema.component.scss create mode 100644 src/app/components/pb-schema/pb-schema.component.ts create mode 100644 src/app/formulaire/elements/pb-schema.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 15ede0e09..ad14422ee 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -85,6 +85,7 @@ import { ParamLinkComponent } from "./components/param-link/param-link.component import { SelectModelFieldLineComponent } from "./components/select-model-field-line/select-model-field-line.component"; import { PabProfileChartComponent } from "./components/pab-profile-chart/pab-profile-chart.component"; import { PabTableComponent } from "./components/pab-table/pab-table.component"; +import { PbSchemaComponent } from './components/pb-schema/pb-schema.component'; import { VariableResultsSelectorComponent } from "./components/variable-results-selector/variable-results-selector.component"; import { QuicknavComponent } from "./components/quicknav/quicknav.component"; import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component"; @@ -218,6 +219,7 @@ const appRoutes: Routes = [ PabResultsComponent, PabResultsTableComponent, PabTableComponent, + PbSchemaComponent, VariableResultsSelectorComponent, MacrorugoCompoundResultsComponent, MacrorugoCompoundResultsTableComponent, diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json new file mode 100644 index 000000000..754fbc81d --- /dev/null +++ b/src/app/calculators/prebarrage/config.json @@ -0,0 +1,34 @@ +[ + { + "id": "schema_interactif_pb", + "type": "pb_schema" + }, + { + "id": "fs_params", + "type": "fieldset", + "fields": [ + { + "id": "select_upstream", + "type": "select_reference", + "reference": "nub", + "source": "upstream_stuff" + }, + { + "id": "select_downstream", + "type": "select_reference", + "reference": "nub", + "source": "downstream_stuff" + }, + "Q", + "Z1", + "Z2" + ] + }, + { + "type": "options", + "selectIds": [ ], + "upstreamSelectId": "select_upstream", + "downstreamSelectId": "select_downstream", + "_help": "prebarrage.html" + } +] diff --git a/src/app/calculators/prebarrage/en.json b/src/app/calculators/prebarrage/en.json new file mode 100644 index 000000000..a8e5ea027 --- /dev/null +++ b/src/app/calculators/prebarrage/en.json @@ -0,0 +1,12 @@ +{ + "fs_target": "Target parameter characteristics", + "fs_searched": "Searched parameter characteristics", + + "Ytarget": "Value of target parameter", + "Xinit": "Initial value for searched parameter", + "X": "Value for searched parameter", + + "select_target_nub": "Module and parameter to calculate", + "select_target_result": "Targetted result", + "select_searched_param": "Searched parameter" +} \ No newline at end of file diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json new file mode 100644 index 000000000..e10e65996 --- /dev/null +++ b/src/app/calculators/prebarrage/fr.json @@ -0,0 +1,10 @@ +{ + "fs_params": "Édition du bassin / de la cloison", + + "Ytarget": "Valeur du paramètre cible", + "Xinit": "Valeur initiale du paramètre recherché", + "X": "Valeur du paramètre recherché", + + "select_upstream": "Bassin / cloison amont", + "select_downstream": "Bassin / cloison aval" +} \ No newline at end of file diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts index f014d75c8..fa269332b 100644 --- a/src/app/components/calculator-list/calculator-list.component.ts +++ b/src/app/components/calculator-list/calculator-list.component.ts @@ -87,10 +87,14 @@ export class CalculatorListComponent implements OnInit { for (const t of unusedCalculators) { if ( // those sub-Nub types cannot be built outside a parent - t !== CalculatorType.Structure - && t !== CalculatorType.Section - && t !== CalculatorType.CloisonAval - && t !== CalculatorType.YAXN + ! [ + CalculatorType.Structure, + CalculatorType.Section, + CalculatorType.CloisonAval, + CalculatorType.YAXN, + CalculatorType.PbBassin, + CalculatorType.PbCloison + ].includes(t) ) { unusedTheme.calculators.push({ type: t, diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html index b1b3ec2b0..d1f8ae992 100644 --- a/src/app/components/generic-calculator/calculator.component.html +++ b/src/app/components/generic-calculator/calculator.component.html @@ -58,21 +58,42 @@ [fxFlex.lt-md]="isWide ? '1 0 auto' : '1 0 500px'" [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'"> - <ng-template ngFor let-fe [ngForOf]="formElements"> - <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe - (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) - (tabPressed)="onTabPressed($event)"> - </field-set> - - <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe - (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) - (tabPressed)="onTabPressed($event)"> - </fieldset-container> - - <pab-table *ngIf="isPabTable(fe)" [pabTable]=fe (radio)=onRadioClick($event) - (validChange)=onElementValid() (inputChange)=onInputChange($event)> - </pab-table> - </ng-template> + <div id="calc-card-field-sets-container" [fxLayout]="isPB ? 'row wrap' : 'column'"> + + <ng-template ngFor let-fe [ngForOf]="formElements"> + <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe + (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) + (tabPressed)="onTabPressed($event)" + [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'" + [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'" + [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'"> + </field-set> + + <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe + (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) + (tabPressed)="onTabPressed($event)" + fxFlex="1 0 auto"> + </fieldset-container> + + <pab-table *ngIf="isPabTable(fe)" [pabTable]=fe (radio)=onRadioClick($event) + (validChange)=onElementValid() (inputChange)=onInputChange($event) + fxFlex="1 0 auto"> + </pab-table> + + <div *ngIf="isPbSchema(fe)" id="pb-schema-container" + [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'" + [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'" + [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'"> + + <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]=fe (radio)=onRadioClick($event) + (validChange)=onElementValid() (inputChange)=onInputChange($event)> + </pb-schema> + + <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div> + </div> + + </ng-template> + </div> <mat-card-actions> <!-- bouton calculer --> diff --git a/src/app/components/generic-calculator/calculator.component.scss b/src/app/components/generic-calculator/calculator.component.scss index 8507212be..4430eb11f 100644 --- a/src/app/components/generic-calculator/calculator.component.scss +++ b/src/app/components/generic-calculator/calculator.component.scss @@ -22,6 +22,10 @@ margin-top: -54px; } +#pb-schema-container { + display: block; +} + mat-card { margin-bottom: 2em; diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index a72bd526e..8a8626540 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -44,6 +44,7 @@ import { DialogGeneratePARSimulationComponent } from "../dialog-generate-par-sim import { PabTable } from "../../formulaire/elements/pab-table"; import { MultiDimensionResults } from "../../results/multidimension-results"; import { NgParameter } from "../../formulaire/elements/ngparam"; +import { PbSchema } from "../../formulaire/elements/pb-schema"; import { HotkeysService, Hotkey } from "angular2-hotkeys"; @@ -157,27 +158,26 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return this._formulaire.kids as FormulaireElement[]; } - /** - * détermine si un FormulaireElement est du type FieldSet - */ + /** détermine si un FormulaireElement est du type FieldSet */ public isFieldset(fe: any): boolean { return fe instanceof FieldSet; } - /** - * détermine si un FormulaireElement est du type FieldsetContainer - */ + /** détermine si un FormulaireElement est du type FieldsetContainer */ public isFieldsetContainer(fe: any): boolean { return fe instanceof FieldsetContainer; } - /** - * détermine si un FormulaireElement est du type PabTable - */ + /** détermine si un FormulaireElement est du type PabTable */ public isPabTable(fe: any): boolean { return fe instanceof PabTable; } + /** détermine si un FormulaireElement est du type PbSchema */ + public isPbSchema(fe: any): boolean { + return fe instanceof PbSchema; + } + public get hasForm() { return this._formulaire !== undefined; } @@ -567,7 +567,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe // for "one wide column" layout public get isWide() { - return (this.isPAB || this.isMRC); + return (this.isPAB || this.isMRC || this.isPB); } // true if current Nub is Solveur @@ -585,6 +585,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return this.is(CalculatorType.MacroRugoCompound); } + // true if current Nub is PreBarrage + public get isPB() { + return this.is(CalculatorType.PreBarrage); + } + // true if current Nub is Jet public get isJet() { return this.is(CalculatorType.Jet); diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html new file mode 100644 index 000000000..80b06a0f1 --- /dev/null +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -0,0 +1,62 @@ +<mat-card-header class="mat-card-header-text-margin-0 bg-accent-light"> + <mat-card-title> + {{ title }} + </mat-card-title> +</mat-card-header> + +<mat-card-content> + + <div id="pb-schema-toolbar"> + + <div class="hyd-window-btns"> + <span class="related-entity-title"> + {{ prefixedItemDescription }} + </span> + <!-- <mat-select id="add-many-children" [(value)]="childrenToAdd"> + <mat-option *ngFor="let i of addManyOptionsList" [value]="i"> + {{ i }} + </mat-option> + </mat-select> --> + <button type="button" mat-icon-button color="primary" title="example button"> + <mat-icon>add_box</mat-icon> + </button> + <!-- <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()" + [title]="uitextAdd"> + <mat-icon>add_box</mat-icon> + </button> + <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()" + [title]="uitextCopy"> + <mat-icon>content_copy</mat-icon> + </button> + | + <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()" + [title]="uitextRemove"> + <mat-icon>delete</mat-icon> + </button> + <button type="button" mat-icon-button color="primary" [disabled]="! enableUpButton" (click)="onMoveUpClick()" + [title]="uitextMoveUp"> + <mat-icon *ngIf="! selectionIsOneDevice">arrow_upward</mat-icon> + <mat-icon *ngIf="selectionIsOneDevice">arrow_back</mat-icon> + </button> + <button type="button" mat-icon-button color="primary" [disabled]="! enableDownButton" (click)="onMoveDownClick()" + [title]="uitextMoveDown"> + <mat-icon *ngIf="! selectionIsOneDevice">arrow_downward</mat-icon> + <mat-icon *ngIf="selectionIsOneDevice">arrow_forward</mat-icon> + </button> + | + <button type="button" mat-icon-button color="primary" (click)="exportAsSpreadsheet()" + [title]="uitextExportAsSpreadsheet"> + <mat-icon color="primary">file_download</mat-icon> + </button> --> + </div> + </div> + + <div *ngIf="error">{{ uitextDrawingError }}</div> + + <div id="schema" #schema></div> + + <div *ngIf="showDebug"> + <pre>{{ graphDef }}</pre> + </div> + +</mat-card-content> diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss new file mode 100644 index 000000000..1b30459a2 --- /dev/null +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -0,0 +1,58 @@ +/** @see additional styles in src/styles.css */ + +:host { + display: block; + width: 100%; + // reduce margins to avoid inner field-sets being too narrow on 360px display + /* margin-left: -8px; + margin-right: -8px; */ +} + +mat-card-header { + /* margin-left: -8px; + margin-right: -8px; */ + margin-left: -16px; + margin-right: -16px; + padding-left: 16px; + padding-top: 8px; + color: white; + + // Pourquoi n'est-ce pas hérité de calculator.component.scss ? + // À cause de la surcharge de mat-card-header ci-dessus ? + mat-card-title { + font-size: 16px !important; + margin-bottom: 8px; + } +} + +mat-card-content { + margin-top: 1em; +} + +#pb-schema-toolbar { + #edit-pab-table { + float: left; + } + .related-entity-title { + vertical-align: middle; + font-weight: bold; + } + .hyd-window-btns { + text-align: right; + + #add-many-children { + width: 3em; + vertical-align: middle; + } + + button.mat-icon-button { + width: 32px; + } + } +} + +#schema { + margin-top: .5em; + margin-bottom: .5em; + text-align: center; +} diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts new file mode 100644 index 000000000..02a921050 --- /dev/null +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -0,0 +1,399 @@ +import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core"; + +import { + PreBarrage, PbBassin, PbBassinParams, PbCloison + } from "jalhyd"; + +import * as mermaid from "mermaid"; + +import { I18nService } from "../../services/internationalisation.service"; +import { ApplicationSetupService } from "../../services/app-setup.service"; +import { NotificationsService } from "../../services/notifications.service"; +import { PbSchema } from "../../formulaire/elements/pb-schema"; + +/** + * The interactive schema for calculator type "PreBarrage" (component) + */ +@Component({ + selector: "pb-schema", + templateUrl: "./pb-schema.component.html", + styleUrls: [ + "./pb-schema.component.scss" + ] +}) +export class PbSchemaComponent implements AfterViewInit, OnInit { + + @Input() + private pbSchema: PbSchema; + + @ViewChild("schema", { static: true }) + public schema: any; + + /** handle on SVG container */ + private nativeElement: any; + + public error: boolean; + + /** flag de validité des FieldSet enfants */ + private _isValid = false; + + private upstreamId = "amont"; + + private downstreamId = "aval"; + + /** événément de changement de validité */ + @Output() + private validChange = new EventEmitter(); + + /** événément de changement de valeur d'un input */ + @Output() + private inputChange = new EventEmitter(); + + /** underlying PB */ + private model: PreBarrage; + + /** Latest clicked item: a PbCloison, a PbBassin or undefined if river "Upstream" or "Downstream" was clicked */ + private _selectedItem: any; + + public constructor( + private i18nService: I18nService, + private appSetupService: ApplicationSetupService, + private notifService: NotificationsService + ) { } + + public get selectedItem(): any { + return this._selectedItem; + } + + public ngAfterContentInit(): void { + this.error = false; + mermaid.initialize({ + flowchart: { + curve: "basis" + } + }); + this.nativeElement = this.schema.nativeElement; + + // generate graph description + const graphDefinition = this.graphDefinition(); + // draw + try { + mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => { + this.nativeElement.innerHTML = svgCode; + }); + } catch (e) { + console.error(e); + this.error = true; + } + } + + public ngAfterViewInit(): void { + this.refreshEventListeners(); + this.updateValidity(); + } + + /** Add click listener on every node and link in the graph */ + private refreshEventListeners() { + this.nativeElement.querySelectorAll("g.node").forEach(item => { + item.style.cursor = "pointer"; + item.addEventListener("click", () => { + this.selectBasin(item.id); + }); + }); + this.nativeElement.querySelectorAll("g.edgeLabel").forEach(item => { + item.style.cursor = "pointer"; + item.addEventListener("click", () => { + this.selectWall(item); + }); + }); + } + + /** + * Builds a Mermaid graph text definition + */ + private graphDefinition() { + const def: string[] = [ "graph TB" ]; + + def.push(`${this.upstreamId}("${this.i18nService.localizeText("INFO_LIB_AMONT")}")`); + def.push(`${this.downstreamId}("${this.i18nService.localizeText("INFO_LIB_AVAL")}")`); + + // debug + const b1 = new PbBassin(new PbBassinParams(0.1, 42)); + this.model.addChild(b1); + const b2 = new PbBassin(new PbBassinParams(0.15, 38)); + this.model.addChild(b2); + this.model.addChild(new PbCloison(undefined, b1)); + this.model.addChild(new PbCloison(b1, b2)); + this.model.addChild(new PbCloison(b2, undefined)); + this.model.addChild(new PbCloison(b1, undefined)); + + for (const b of this.model.bassins) { + // basin + def.push(`${b.uid}("${this.itemDesription(b)}")`); + // upstream walls + for (const uw of b.cloisonsAmont) { + const upstreamBasinId = uw.bassinAmont === undefined ? this.upstreamId : uw.bassinAmont.uid; + // upstream wall unique identifier + const uwString = `${upstreamBasinId}-->|${this.itemDesription(uw)}|${b.uid}`; + if (! def.includes(uwString)) { + def.push(uwString); + } + } + // downstream walls + for (const dw of b.cloisonsAval) { + const downstreamBasinId = dw.bassinAval === undefined ? this.downstreamId : dw.bassinAval.uid; + // downstream wall unique identifier + const dwString = `${b.uid}-->|${this.itemDesription(dw)}|${downstreamBasinId}`; + if (! def.includes(dwString)) { + def.push(dwString); + } + } + } + + return def.join("\n"); + } + + private selectBasin(id: string) { + if ([ this.upstreamId, this.downstreamId ].includes(id)) { + console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM"); + this._selectedItem = undefined; + } else { + let basin: PbBassin; + for (const b of this.model.bassins) { + if (b.uid === id) { + basin = b; + } + } + this._selectedItem = basin; + // @TODO highlight node in schema + console.log("BASIN FOUND !", basin); + } + } + + private selectWall(item: SVGGElement) { + // Mermaid does not allow to assign IDs to connectors and labels… + const text: string = item.querySelector("span.edgeLabel").textContent; + if (text) { + const [ uBs, dBs ] = text.split("-"); + let wall: PbCloison; + // clodo test: is there an upstream basin or is it upstream river ? + if (uBs === this.i18nService.localizeText("INFO_LIB_AMONT")) { + // find wall from downstream basin + const dBi = Number(dBs.substring(1)); + const dB = this.model.bassins[dBi - 1]; + for (const w of dB.cloisonsAmont) { + // find the one that is connected to upstream river + if (w.bassinAmont === undefined) { + wall = w; + } + } + } else { + // find wall from upstream basin + const uBi = Number(uBs.substring(1)); + const uB = this.model.bassins[uBi - 1]; + // clodo test again + let dB: PbBassin; + if (dBs !== this.i18nService.localizeText("INFO_LIB_AVAL")) { + const dBi = Number(dBs.substring(1)); + dB = this.model.bassins[dBi - 1]; + } + for (const w of uB.cloisonsAval) { + // find the one that is connected to dB (either a basin or downstream river) + if (w.bassinAval === dB) { + wall = w; + } + } + } + if (wall === undefined) { + throw new Error(`PbSchemaComponent.selectWall(): cannot find wall for label "${text}"`); + } + this._selectedItem = wall; + // @TODO highlight label and edge in schema + console.log("WALL FOUND !", wall); + } + } + + public get graphDef(): string { + return this.graphDefinition(); + } + + public get title(): string { + return this.i18nService.localizeText("INFO_PB_SCHEMA"); + } + + /** Global Pb validity */ + public get isValid() { + return this._isValid; + } + + /** + * Checks that input value is a valid number, according to input[type="number"] algorithm, + * and stores it in cell.uiValidity, so that the <td> element can access it and get angry + * if input is invalid + */ + public inputValueChanged($event, cell) { + if ($event && $event.target && $event.target.validity) { + cell.uiValidity = $event.target.validity.valid; + } + this.updateValidity(); + // send input change event (used to reset form results) + this.inputChange.emit(); + } + + public get prefixedItemDescription(): string { + let desc = this.itemDesription(this._selectedItem); + if (this._selectedItem instanceof PbCloison) { + desc = this.i18nService.localizeText("INFO_PB_CLOISON") + " " + desc; + } + if (desc !== "") { + desc += " : "; + } + return desc; + } + + /** Returns a short description of the given item: wall or basin */ + private itemDesription(item: PbCloison | PbBassin): string { + let desc = ""; + if (item instanceof PbCloison) { + const upstreamBasinName = item.bassinAmont === undefined + ? this.i18nService.localizeText("INFO_LIB_AMONT") + : "B" + (item.bassinAmont.findPositionInParent() + 1); + const downstreamBasinName = item.bassinAval === undefined + ? this.i18nService.localizeText("INFO_LIB_AVAL") + : "B" + (item.bassinAval.findPositionInParent() + 1); + desc = upstreamBasinName + "-" + downstreamBasinName; + + } else if (item instanceof PbBassin) { + desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (item.findPositionInParent() + 1); + } // else undefined + return desc; + } + + /** + * Returns true if current cell is bound to a model that says its input value is + * no valid, or if characters typed in the input field are not a valid number + * (read from cell.uiValidity, see inputValueChanged() above) + */ + /* public isInvalid(cell: any): boolean { + let valid = true; + if (this.hasModel(cell) && cell.model instanceof ParamDefinition) { + valid = valid && cell.model.isValid; + } + if (cell.uiValidity !== undefined) { + valid = valid && cell.uiValidity; + } + return ! valid; + } */ + + /** + * returns true if every wall (including downwall) has its nth device + * selected (or has no nth device) + */ + /* public isDeviceColumnSelected(n: number): boolean { + let ok = true; + for (const c of this.model.children) { + const nthChild = c.getChildren()[n]; + if (nthChild) { + ok = ok && this.selectedItems.includes(nthChild); + } + } + const nthChildDW = this.model.downWall.getChildren()[n]; + if (nthChildDW) { + ok = ok && this.selectedItems.includes(nthChildDW); + } + return ok; + } */ + + // quick getter for 1st selected item + /* public get selectedItem() { + if (this.selectedItems.length === 0) { + throw new Error("get selectedItem() : no item selected"); + } + return this.selectedItems[0]; + } */ + + // at this time @Input data is supposed to be already populated + public ngOnInit() { + this.model = this.pbSchema.pb; + this.refresh(); + } + + /** Unselects all selected text (side-effect of shift+clicking) */ + /* private clearSelection() { + if (window.getSelection) { + const sel = window.getSelection(); + sel.removeAllRanges(); + } + } */ + + /** + * Builds the interactive schema from the PreBarrage model + */ + private refresh() { + this.updateValidity(); + } + + /* public get relatedEntityTitle() { + let title = ""; + if (this.onlyDevicesAreSelected()) { + title = this.i18nService.localizeText("INFO_PAB_OUVRAGES"); + } else if (this.onlyWallsAreSelected()) { + title = this.i18nService.localizeText("INFO_PAB_BASSINS"); + } + if (title !== "") { + title += " :"; + } + return title; + } + + public get enableAddButton() { + return ( + this.onlyDevicesOfTheSameColumnAreSelected() + || ( + this.selectedItems.length === 1 + && ! (this.selectedItem instanceof CloisonAval) // exclude downwall + ) + ); + } + + public get enableCopyButton() { + return this.enableAddButton; + } */ + + /** + * Computes the global Pab validity : validity of every cell of every row + */ + private updateValidity() { + this._isValid = true; + /* for (const r of this.rows) { + for (const c of r.cells) { + this._isValid = this._isValid && ! this.isInvalid(c); + } + } */ + this.validChange.emit(); + } + + /* public exportAsSpreadsheet() { + const elem: any = document.getElementById("geometry"); + const elemCopy = (elem as HTMLElement).cloneNode(true) as HTMLElement; + // enrich element copy: replace inputs by their values, so that it appears in the exported spreadsheet + const tables: any = elemCopy.getElementsByTagName("table"); + for (const table of tables) { + const tds: any = table.getElementsByTagName("td"); + for (const td of tds) { + // if it contains an input, replace it with the input value + const inputs = td.getElementsByTagName("input"); + if (inputs.length > 0) { + const input = inputs[0]; + td.innerHTML = input.value; + } + } + } + // export the enriched element copy + AppComponent.exportAsSpreadsheet(elemCopy as any); + } + + public get uitextExportAsSpreadsheet() { + return this.i18nService.localizeText("INFO_RESULTS_EXPORT_AS_SPREADSHEET"); + } */ +} diff --git a/src/app/config.json b/src/app/config.json index 600172199..e1a038001 100644 --- a/src/app/config.json +++ b/src/app/config.json @@ -15,7 +15,7 @@ "path": "passe-bassin.jpg", "credits": "S. Richard / OFB" }, - "calculators": [ 12, 13, 6, 5, 10, 15 ] + "calculators": [ 12, 13, 6, 5, 10, 15, 30 ] }, { "name": "PASSE_A_RALENTISSEURS", diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 3cb94b538..5f8a226d8 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -24,6 +24,7 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera import { CalculatorResults } from "../../results/calculator-results"; import { ServiceFactory } from "../../services/service-factory"; import { PabTable } from "../elements/pab-table"; +import { PbSchema } from '../elements/pb-schema'; /** * classe de base pour tous les formulaires @@ -221,6 +222,13 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.kids.push(tab); } + private parse_pb_schema(json: {}) { + const sch: PbSchema = new PbSchema(this); + sch.parseConfig(json); + this.kids.push(sch); + } + + /** * 1ère passe d'analyse de la configuration */ @@ -278,6 +286,10 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.parse_pab_table(conf); break; + case "pb_schema": // not generic at all + this.parse_pb_schema(conf); + break; + default: throw new Error(`type d'objet de module de calcul ${type} non pris en charge`); } diff --git a/src/app/formulaire/elements/pab-table.ts b/src/app/formulaire/elements/pab-table.ts index aea39c56e..e9934bb9c 100644 --- a/src/app/formulaire/elements/pab-table.ts +++ b/src/app/formulaire/elements/pab-table.ts @@ -1,7 +1,6 @@ import { Pab } from "jalhyd"; import { FormulaireElement } from "./formulaire-element"; -import { FormulaireNode } from "./formulaire-node"; import { FormulairePab } from "../definition/form-pab"; /** @@ -12,10 +11,6 @@ import { FormulairePab } from "../definition/form-pab"; */ export class PabTable extends FormulaireElement { - constructor(parent: FormulaireNode) { - super(parent); - } - public parseConfig(json: {}) { this._confId = json["id"]; } diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts new file mode 100644 index 000000000..0d4243781 --- /dev/null +++ b/src/app/formulaire/elements/pb-schema.ts @@ -0,0 +1,32 @@ +import { PreBarrage } from "jalhyd"; + +import { FormulaireElement } from "./formulaire-element"; + +/** + * The interactive schema for calculator type "PreBarrage" (form element). + * + * This is just a gateway between the model (Prebarrage) + * and the user interface (PbSchemaComponent) + */ +export class PbSchema extends FormulaireElement { + + public parseConfig(json: {}) { + this._confId = json["id"]; + } + + /** + * Returns the parent FormulairePab + */ + /* public get form(): FormulairePab { + return this.parentForm as FormulairePab; + } */ + + /** + * Returns the Prebarrage model associated to the parent form + */ + public get pb(): PreBarrage { + if (this.parentForm) { + return this.parentForm.currentNub as PreBarrage; + } + } +} diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index a99a7e8b7..0503c8e18 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -434,6 +434,11 @@ "INFO_PARAMFIELD_VARIATED": "Variated", "INFO_PARAMMODE_LIST": "Values list", "INFO_PARAMMODE_MINMAX": "Min/max", + "INFO_PB_BASSIN_N": "Basin #", + "INFO_PB_CLOISON": "Wall", + "INFO_PB_SCHEMA": "Basins layout", + "INFO_PREBARRAGE_TITRE": "Pre-dams", + "INFO_PREBARRAGE_TITRE_COURT": "Pre-dams", "INFO_QUICKNAV_CHARTS": "charts", "INFO_QUICKNAV_INPUT": "input", "INFO_QUICKNAV_RESULTS": "results", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 79f5ff227..fba0a440c 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -434,6 +434,11 @@ "INFO_PARAMFIELD_VARIATED": "Varié", "INFO_PARAMMODE_LIST": "Liste de valeurs", "INFO_PARAMMODE_MINMAX": "Min/max", + "INFO_PB_BASSIN_N": "Bassin n°", + "INFO_PB_CLOISON": "Cloison", + "INFO_PB_SCHEMA": "Organisation des bassins", + "INFO_PREBARRAGE_TITRE": "Prébarrages", + "INFO_PREBARRAGE_TITRE_COURT": "Prébarrages", "INFO_QUICKNAV_CHARTS": "graphiques", "INFO_QUICKNAV_INPUT": "données", "INFO_QUICKNAV_RESULTS": "résultats", -- GitLab From 7ffa86763ad69b4360b33716ba161b7d1db7465b Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 26 May 2020 16:54:43 +0200 Subject: [PATCH 046/117] Update jalhyd_branch --- jalhyd_branch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jalhyd_branch b/jalhyd_branch index d64531f13..22284ff35 100644 --- a/jalhyd_branch +++ b/jalhyd_branch @@ -1 +1 @@ -devel +32-ajout-de-l-outil-prebarrage -- GitLab From e6c7f3b0d43a544bf309ec256d466bda63c9fedf Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 27 May 2020 12:05:25 +0200 Subject: [PATCH 047/117] Fix bug breaking build --- src/app/components/pb-schema/pb-schema.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index 80b06a0f1..da8c17896 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -55,8 +55,8 @@ <div id="schema" #schema></div> - <div *ngIf="showDebug"> + <!-- <div *ngIf="showDebug"> <pre>{{ graphDef }}</pre> - </div> + </div> --> </mat-card-content> -- GitLab From d85eeb2ac2a2c143fa1f5d74e4c8853f2eb9459a Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 27 May 2020 14:21:08 +0200 Subject: [PATCH 048/117] Angular: increase anyComponentStyle budget --- angular.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angular.json b/angular.json index 7671b88ce..5e5ff3530 100644 --- a/angular.json +++ b/angular.json @@ -46,7 +46,7 @@ "budgets": [ { "type": "anyComponentStyle", - "maximumWarning": "6kb" + "maximumWarning": "10kb" } ], "optimization": true, -- GitLab From 874fb7a7795f915c916c4139677abddbf03fea14 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 27 May 2020 17:01:38 +0200 Subject: [PATCH 049/117] PreBarrage: diagram actions add basin remove basin (buggy) remove wall --- .../pb-schema/pb-schema.component.html | 35 +---- .../pb-schema/pb-schema.component.scss | 9 +- .../pb-schema/pb-schema.component.ts | 141 +++++++----------- src/locale/messages.en.json | 1 + src/locale/messages.fr.json | 1 + 5 files changed, 61 insertions(+), 126 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index da8c17896..0c35fbbc4 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -8,6 +8,10 @@ <div id="pb-schema-toolbar"> + <button type="button" id="add-basin" mat-raised-button color="accent" (click)="onAddBasinClick()"> + {{ uitextAddBasin }} + </button> + <div class="hyd-window-btns"> <span class="related-entity-title"> {{ prefixedItemDescription }} @@ -16,33 +20,16 @@ <mat-option *ngFor="let i of addManyOptionsList" [value]="i"> {{ i }} </mat-option> - </mat-select> --> - <button type="button" mat-icon-button color="primary" title="example button"> - <mat-icon>add_box</mat-icon> - </button> - <!-- <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()" + </mat-select> + <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()" [title]="uitextAdd"> <mat-icon>add_box</mat-icon> - </button> - <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()" - [title]="uitextCopy"> - <mat-icon>content_copy</mat-icon> - </button> - | + </button> --> <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()" [title]="uitextRemove"> <mat-icon>delete</mat-icon> </button> - <button type="button" mat-icon-button color="primary" [disabled]="! enableUpButton" (click)="onMoveUpClick()" - [title]="uitextMoveUp"> - <mat-icon *ngIf="! selectionIsOneDevice">arrow_upward</mat-icon> - <mat-icon *ngIf="selectionIsOneDevice">arrow_back</mat-icon> - </button> - <button type="button" mat-icon-button color="primary" [disabled]="! enableDownButton" (click)="onMoveDownClick()" - [title]="uitextMoveDown"> - <mat-icon *ngIf="! selectionIsOneDevice">arrow_downward</mat-icon> - <mat-icon *ngIf="selectionIsOneDevice">arrow_forward</mat-icon> - </button> + <!-- | <button type="button" mat-icon-button color="primary" (click)="exportAsSpreadsheet()" [title]="uitextExportAsSpreadsheet"> @@ -51,12 +38,6 @@ </div> </div> - <div *ngIf="error">{{ uitextDrawingError }}</div> - <div id="schema" #schema></div> - <!-- <div *ngIf="showDebug"> - <pre>{{ graphDef }}</pre> - </div> --> - </mat-card-content> diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss index 1b30459a2..eccdfe35b 100644 --- a/src/app/components/pb-schema/pb-schema.component.scss +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -3,22 +3,15 @@ :host { display: block; width: 100%; - // reduce margins to avoid inner field-sets being too narrow on 360px display - /* margin-left: -8px; - margin-right: -8px; */ } mat-card-header { - /* margin-left: -8px; - margin-right: -8px; */ margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-top: 8px; color: white; - // Pourquoi n'est-ce pas hérité de calculator.component.scss ? - // À cause de la surcharge de mat-card-header ci-dessus ? mat-card-title { font-size: 16px !important; margin-bottom: 8px; @@ -30,7 +23,7 @@ mat-card-content { } #pb-schema-toolbar { - #edit-pab-table { + #add-basin { float: left; } .related-entity-title { diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 02a921050..a55569473 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -32,8 +32,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { /** handle on SVG container */ private nativeElement: any; - public error: boolean; - /** flag de validité des FieldSet enfants */ private _isValid = false; @@ -66,14 +64,17 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { } public ngAfterContentInit(): void { - this.error = false; mermaid.initialize({ flowchart: { curve: "basis" } }); this.nativeElement = this.schema.nativeElement; + this.render(); + } + private render() { + this.nativeElement.innerHTML = ""; // or diagram goes blank when refreshing… // generate graph description const graphDefinition = this.graphDefinition(); // draw @@ -83,10 +84,19 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { }); } catch (e) { console.error(e); - this.error = true; } } + /** + * Builds the interactive schema from the PreBarrage model + */ + private refresh() { + console.log("riz fraîche"); + this.render(); + this.refreshEventListeners(); + this.updateValidity(); + } + public ngAfterViewInit(): void { this.refreshEventListeners(); this.updateValidity(); @@ -118,14 +128,16 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { def.push(`${this.downstreamId}("${this.i18nService.localizeText("INFO_LIB_AVAL")}")`); // debug - const b1 = new PbBassin(new PbBassinParams(0.1, 42)); - this.model.addChild(b1); - const b2 = new PbBassin(new PbBassinParams(0.15, 38)); - this.model.addChild(b2); - this.model.addChild(new PbCloison(undefined, b1)); - this.model.addChild(new PbCloison(b1, b2)); - this.model.addChild(new PbCloison(b2, undefined)); - this.model.addChild(new PbCloison(b1, undefined)); + if (this.model.children.length === 0) { + const b1 = new PbBassin(new PbBassinParams(0.1, 42)); + this.model.addChild(b1); + const b2 = new PbBassin(new PbBassinParams(0.15, 38)); + this.model.addChild(b2); + this.model.addChild(new PbCloison(undefined, b1)); + this.model.addChild(new PbCloison(b1, b2)); + this.model.addChild(new PbCloison(b2, undefined)); + this.model.addChild(new PbCloison(b1, undefined)); + } for (const b of this.model.bassins) { // basin @@ -257,108 +269,55 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { if (item instanceof PbCloison) { const upstreamBasinName = item.bassinAmont === undefined ? this.i18nService.localizeText("INFO_LIB_AMONT") - : "B" + (item.bassinAmont.findPositionInParent() + 1); + : "B" + (this.findBasinPosition(item.bassinAmont) + 1); const downstreamBasinName = item.bassinAval === undefined ? this.i18nService.localizeText("INFO_LIB_AVAL") - : "B" + (item.bassinAval.findPositionInParent() + 1); + : "B" + (this.findBasinPosition(item.bassinAval) + 1); desc = upstreamBasinName + "-" + downstreamBasinName; } else if (item instanceof PbBassin) { - desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (item.findPositionInParent() + 1); + desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.findBasinPosition(item) + 1); } // else undefined return desc; } - /** - * Returns true if current cell is bound to a model that says its input value is - * no valid, or if characters typed in the input field are not a valid number - * (read from cell.uiValidity, see inputValueChanged() above) - */ - /* public isInvalid(cell: any): boolean { - let valid = true; - if (this.hasModel(cell) && cell.model instanceof ParamDefinition) { - valid = valid && cell.model.isValid; - } - if (cell.uiValidity !== undefined) { - valid = valid && cell.uiValidity; - } - return ! valid; - } */ - - /** - * returns true if every wall (including downwall) has its nth device - * selected (or has no nth device) - */ - /* public isDeviceColumnSelected(n: number): boolean { - let ok = true; - for (const c of this.model.children) { - const nthChild = c.getChildren()[n]; - if (nthChild) { - ok = ok && this.selectedItems.includes(nthChild); - } - } - const nthChildDW = this.model.downWall.getChildren()[n]; - if (nthChildDW) { - ok = ok && this.selectedItems.includes(nthChildDW); - } - return ok; - } */ - - // quick getter for 1st selected item - /* public get selectedItem() { - if (this.selectedItems.length === 0) { - throw new Error("get selectedItem() : no item selected"); + private findBasinPosition(basin: PbBassin): number { + let i = 0; + for (const b of this.model.bassins) { + if (b === basin) break; + i++; } - return this.selectedItems[0]; - } */ + return i; + } // at this time @Input data is supposed to be already populated public ngOnInit() { this.model = this.pbSchema.pb; - this.refresh(); } - /** Unselects all selected text (side-effect of shift+clicking) */ - /* private clearSelection() { - if (window.getSelection) { - const sel = window.getSelection(); - sel.removeAllRanges(); - } - } */ + public get enableRemoveButton() { + return (this._selectedItem !== undefined); + } - /** - * Builds the interactive schema from the PreBarrage model - */ - private refresh() { - this.updateValidity(); + /** Removes a basin or wall, and all related items */ + public onRemoveClick() { + this.model.deleteChild(this._selectedItem.findPositionInParent()); + this.refresh(); } - /* public get relatedEntityTitle() { - let title = ""; - if (this.onlyDevicesAreSelected()) { - title = this.i18nService.localizeText("INFO_PAB_OUVRAGES"); - } else if (this.onlyWallsAreSelected()) { - title = this.i18nService.localizeText("INFO_PAB_BASSINS"); - } - if (title !== "") { - title += " :"; - } - return title; + public get uitextRemove() { + return this.i18nService.localizeText("INFO_FIELDSET_REMOVE"); } - public get enableAddButton() { - return ( - this.onlyDevicesOfTheSameColumnAreSelected() - || ( - this.selectedItems.length === 1 - && ! (this.selectedItem instanceof CloisonAval) // exclude downwall - ) - ); + public onAddBasinClick() { + console.log("Ajoute un bassin, coquin !"); + this.model.addChild(new PbBassin(new PbBassinParams(20, 99))); + this.refresh(); } - public get enableCopyButton() { - return this.enableAddButton; - } */ + public get uitextAddBasin() { + return this.i18nService.localizeText("INFO_PB_ADD_BASIN"); + } /** * Computes the global Pab validity : validity of every cell of every row diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 0503c8e18..c3c8350e0 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -434,6 +434,7 @@ "INFO_PARAMFIELD_VARIATED": "Variated", "INFO_PARAMMODE_LIST": "Values list", "INFO_PARAMMODE_MINMAX": "Min/max", + "INFO_PB_ADD_BASIN": "Add new basin", "INFO_PB_BASSIN_N": "Basin #", "INFO_PB_CLOISON": "Wall", "INFO_PB_SCHEMA": "Basins layout", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index fba0a440c..1bb518b44 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -434,6 +434,7 @@ "INFO_PARAMFIELD_VARIATED": "Varié", "INFO_PARAMMODE_LIST": "Liste de valeurs", "INFO_PARAMMODE_MINMAX": "Min/max", + "INFO_PB_ADD_BASIN": "Ajouter un bassin", "INFO_PB_BASSIN_N": "Bassin n°", "INFO_PB_CLOISON": "Cloison", "INFO_PB_SCHEMA": "Organisation des bassins", -- GitLab From 5c908beba605b65cf47720a40b22fb1cef190eb3 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 28 May 2020 17:05:44 +0200 Subject: [PATCH 050/117] Prebarrage: GUI grey out Calculate button if basins structure is invalid use Mermaid Nodes for walls suffix multiple walls on same basins pair base Mermaid Nodes on children UIDs display Mermaid code (debug) unselect element after deletion highlight selected element --- src/app/calculators/prebarrage/fr.json | 4 +- .../calculator.component.ts | 11 ++ .../pb-schema/pb-schema.component.html | 2 + .../pb-schema/pb-schema.component.scss | 4 + .../pb-schema/pb-schema.component.ts | 185 +++++++----------- 5 files changed, 94 insertions(+), 112 deletions(-) diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json index e10e65996..b770ea7b8 100644 --- a/src/app/calculators/prebarrage/fr.json +++ b/src/app/calculators/prebarrage/fr.json @@ -5,6 +5,6 @@ "Xinit": "Valeur initiale du paramètre recherché", "X": "Valeur du paramètre recherché", - "select_upstream": "Bassin / cloison amont", - "select_downstream": "Bassin / cloison aval" + "select_upstream": "Bassin amont", + "select_downstream": "Bassin aval" } \ No newline at end of file diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 8a8626540..e84519018 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -45,6 +45,7 @@ import { PabTable } from "../../formulaire/elements/pab-table"; import { MultiDimensionResults } from "../../results/multidimension-results"; import { NgParameter } from "../../formulaire/elements/ngparam"; import { PbSchema } from "../../formulaire/elements/pb-schema"; +import { PbSchemaComponent } from "../pb-schema/pb-schema.component"; import { HotkeysService, Hotkey } from "angular2-hotkeys"; @@ -74,6 +75,12 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe @ViewChild(PabTableComponent) private _pabTableComponent: PabTableComponent; + /** + * PbSchemaComponent if any + */ + @ViewChild(PbSchemaComponent) + private _pbSchemaComponent: PbSchemaComponent; + /** * composant d'affichage des résultats */ @@ -484,6 +491,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe if (this._pabTableComponent !== undefined) { this._isUIValid = this._isUIValid && this._pabTableComponent.isValid; } + + if (this._pbSchemaComponent !== undefined) { + this._isUIValid = this._isUIValid && this._pbSchemaComponent.isValid; + } } public getElementStyleDisplay(id: string) { diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index 0c35fbbc4..d87b406bc 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -40,4 +40,6 @@ <div id="schema" #schema></div> + <pre id="debug">{{ graphDef }} </pre> + </mat-card-content> diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss index eccdfe35b..7c3c8cb0b 100644 --- a/src/app/components/pb-schema/pb-schema.component.scss +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -49,3 +49,7 @@ mat-card-content { margin-bottom: .5em; text-align: center; } + +#debug { + /* display: none; */ +} diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index a55569473..7b4a8af0c 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -1,7 +1,7 @@ import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core"; import { - PreBarrage, PbBassin, PbBassinParams, PbCloison + PreBarrage, PbBassin, PbBassinParams, PbCloison, CalculatorType } from "jalhyd"; import * as mermaid from "mermaid"; @@ -32,7 +32,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { /** handle on SVG container */ private nativeElement: any; - /** flag de validité des FieldSet enfants */ + /** flag de validité du composant */ private _isValid = false; private upstreamId = "amont"; @@ -51,7 +51,13 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { private model: PreBarrage; /** Latest clicked item: a PbCloison, a PbBassin or undefined if river "Upstream" or "Downstream" was clicked */ - private _selectedItem: any; + private _selectedItem: PbCloison | PbBassin; + + /** Records existing walls as they are built, to detect if multiple walls connect the same pair of basins */ + private existingWalls: { [key: string]: number }; + + /** Stores appropriate number suffix for a given wall uid (related to existingWalls above) */ + private wallsSuffixes: { [key: string]: number }; public constructor( private i18nService: I18nService, @@ -91,7 +97,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { * Builds the interactive schema from the PreBarrage model */ private refresh() { - console.log("riz fraîche"); this.render(); this.refreshEventListeners(); this.updateValidity(); @@ -107,26 +112,29 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { this.nativeElement.querySelectorAll("g.node").forEach(item => { item.style.cursor = "pointer"; item.addEventListener("click", () => { - this.selectBasin(item.id); - }); - }); - this.nativeElement.querySelectorAll("g.edgeLabel").forEach(item => { - item.style.cursor = "pointer"; - item.addEventListener("click", () => { - this.selectWall(item); + this.selectNode(item); }); }); } /** - * Builds a Mermaid graph text definition + * Builds a Mermaid graph text definition, using Nodes + * to represent basins as well as walls */ private graphDefinition() { + this.existingWalls = {}; + this.wallsSuffixes = {}; const def: string[] = [ "graph TB" ]; + // river upstream / downstream def.push(`${this.upstreamId}("${this.i18nService.localizeText("INFO_LIB_AMONT")}")`); def.push(`${this.downstreamId}("${this.i18nService.localizeText("INFO_LIB_AVAL")}")`); + // styles + def.push("classDef wall fill:#e8e8e8,stroke-width:0;"); + def.push("classDef node-highlighted fill:orange;"); + // def.push("classDef basin fill:black;"); + // debug if (this.model.children.length === 0) { const b1 = new PbBassin(new PbBassinParams(0.1, 42)); @@ -139,92 +147,58 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { this.model.addChild(new PbCloison(b1, undefined)); } - for (const b of this.model.bassins) { - // basin - def.push(`${b.uid}("${this.itemDesription(b)}")`); - // upstream walls - for (const uw of b.cloisonsAmont) { - const upstreamBasinId = uw.bassinAmont === undefined ? this.upstreamId : uw.bassinAmont.uid; - // upstream wall unique identifier - const uwString = `${upstreamBasinId}-->|${this.itemDesription(uw)}|${b.uid}`; - if (! def.includes(uwString)) { - def.push(uwString); + for (const c of this.model.children) { + if (c instanceof PbBassin) { + def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges + // def.push(`class ${c.uid} basin;`); + } else if (c instanceof PbCloison) { + const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid; + const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid; + // record this wall + const basinsPair = upstreamBasinId + "-" + downstreamBasinId; + if (! (basinsPair in this.existingWalls)) { + this.existingWalls[basinsPair] = 0; } - } - // downstream walls - for (const dw of b.cloisonsAval) { - const downstreamBasinId = dw.bassinAval === undefined ? this.downstreamId : dw.bassinAval.uid; - // downstream wall unique identifier - const dwString = `${b.uid}-->|${this.itemDesription(dw)}|${downstreamBasinId}`; - if (! def.includes(dwString)) { - def.push(dwString); + // affect suffix if needed + if (this.existingWalls[basinsPair] > 0) { + this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair]; } + this.existingWalls[basinsPair]++; + // draw wall Node + def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges + def.push(`class ${c.uid} wall;`); + // draw "arrow" with 2 lines + def.push(`${upstreamBasinId}---${c.uid}`); // up line + def.push(`${c.uid}-->${downstreamBasinId}`); // down arrow } } return def.join("\n"); } - private selectBasin(id: string) { - if ([ this.upstreamId, this.downstreamId ].includes(id)) { - console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM"); + private selectNode(item: any) { + // highlight clicked element + this.clearHighlightedItems(); + item.classList.add("node-highlighted"); + // find what was clicked + if ([ this.upstreamId, this.downstreamId ].includes(item.id)) { + console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM", item.id); this._selectedItem = undefined; } else { - let basin: PbBassin; - for (const b of this.model.bassins) { - if (b.uid === id) { - basin = b; + for (const b of this.model.children) { + if (b.uid === item.id) { + this._selectedItem = b; } } - this._selectedItem = basin; - // @TODO highlight node in schema - console.log("BASIN FOUND !", basin); - } - } - - private selectWall(item: SVGGElement) { - // Mermaid does not allow to assign IDs to connectors and labels… - const text: string = item.querySelector("span.edgeLabel").textContent; - if (text) { - const [ uBs, dBs ] = text.split("-"); - let wall: PbCloison; - // clodo test: is there an upstream basin or is it upstream river ? - if (uBs === this.i18nService.localizeText("INFO_LIB_AMONT")) { - // find wall from downstream basin - const dBi = Number(dBs.substring(1)); - const dB = this.model.bassins[dBi - 1]; - for (const w of dB.cloisonsAmont) { - // find the one that is connected to upstream river - if (w.bassinAmont === undefined) { - wall = w; - } - } + if (this._selectedItem !== undefined) { + console.log(`${this._selectedItem.calcType === CalculatorType.PbBassin ? "BASIN" : "WALL"} FOUND !`, this._selectedItem); } else { - // find wall from upstream basin - const uBi = Number(uBs.substring(1)); - const uB = this.model.bassins[uBi - 1]; - // clodo test again - let dB: PbBassin; - if (dBs !== this.i18nService.localizeText("INFO_LIB_AVAL")) { - const dBi = Number(dBs.substring(1)); - dB = this.model.bassins[dBi - 1]; - } - for (const w of uB.cloisonsAval) { - // find the one that is connected to dB (either a basin or downstream river) - if (w.bassinAval === dB) { - wall = w; - } - } + console.log("watt ze fyook ?"); } - if (wall === undefined) { - throw new Error(`PbSchemaComponent.selectWall(): cannot find wall for label "${text}"`); - } - this._selectedItem = wall; - // @TODO highlight label and edge in schema - console.log("WALL FOUND !", wall); } } + // for debug only public get graphDef(): string { return this.graphDefinition(); } @@ -274,7 +248,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { ? this.i18nService.localizeText("INFO_LIB_AVAL") : "B" + (this.findBasinPosition(item.bassinAval) + 1); desc = upstreamBasinName + "-" + downstreamBasinName; - + // if a similar wall already exists, suffix ! + if (item.uid in this.wallsSuffixes) { + desc += " (" + this.wallsSuffixes[item.uid] + ")"; + } } else if (item instanceof PbBassin) { desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.findBasinPosition(item) + 1); } // else undefined @@ -302,6 +279,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { /** Removes a basin or wall, and all related items */ public onRemoveClick() { this.model.deleteChild(this._selectedItem.findPositionInParent()); + this.unselect(); this.refresh(); } @@ -309,9 +287,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { return this.i18nService.localizeText("INFO_FIELDSET_REMOVE"); } + /** Adds a new lone basin */ public onAddBasinClick() { - console.log("Ajoute un bassin, coquin !"); this.model.addChild(new PbBassin(new PbBassinParams(20, 99))); + this.unselect(); this.refresh(); } @@ -323,36 +302,22 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { * Computes the global Pab validity : validity of every cell of every row */ private updateValidity() { - this._isValid = true; - /* for (const r of this.rows) { - for (const c of r.cells) { - this._isValid = this._isValid && ! this.isInvalid(c); - } - } */ + // check that at least 1 basin is present and a route from river + // upstream to river downstream exists (2nd check includes 1st) + this._isValid = this.model.hasUpDownConnection(); this.validChange.emit(); } - /* public exportAsSpreadsheet() { - const elem: any = document.getElementById("geometry"); - const elemCopy = (elem as HTMLElement).cloneNode(true) as HTMLElement; - // enrich element copy: replace inputs by their values, so that it appears in the exported spreadsheet - const tables: any = elemCopy.getElementsByTagName("table"); - for (const table of tables) { - const tds: any = table.getElementsByTagName("td"); - for (const td of tds) { - // if it contains an input, replace it with the input value - const inputs = td.getElementsByTagName("input"); - if (inputs.length > 0) { - const input = inputs[0]; - td.innerHTML = input.value; - } - } - } - // export the enriched element copy - AppComponent.exportAsSpreadsheet(elemCopy as any); + private clearHighlightedItems() { + this.nativeElement.querySelectorAll("g.node").forEach(item => { + console.log("found an item !"); + item.classList.remove("node-highlighted"); + }); + } + + private unselect() { + this._selectedItem = undefined; + this.clearHighlightedItems(); } - public get uitextExportAsSpreadsheet() { - return this.i18nService.localizeText("INFO_RESULTS_EXPORT_AS_SPREADSHEET"); - } */ } -- GitLab From 781ae75da3feed601c7147f38190096f22a93cfe Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 29 May 2020 14:59:45 +0200 Subject: [PATCH 051/117] PreBarrage: command to add walls --- src/app/app.module.ts | 3 + .../dialog-new-pb-cloison.component.html | 28 ++++++ .../dialog-new-pb-cloison.component.scss | 4 + .../dialog-new-pb-cloison.component.ts | 96 +++++++++++++++++++ .../pb-schema/pb-schema.component.html | 14 ++- .../pb-schema/pb-schema.component.scss | 4 + .../pb-schema/pb-schema.component.ts | 70 +++++++++++--- src/app/formulaire/elements/pb-schema.ts | 7 -- src/locale/messages.en.json | 4 + src/locale/messages.fr.json | 4 + 10 files changed, 211 insertions(+), 23 deletions(-) create mode 100644 src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html create mode 100644 src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss create mode 100644 src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index ad14422ee..e7d78e13b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -105,6 +105,7 @@ import { DialogGeneratePARSimulationComponent } from "./components/dialog-genera import { DialogLoadSessionComponent } from "./components/dialog-load-session/dialog-load-session.component"; import { DialogLogEntriesDetailsComponent } from "./components/dialog-log-entries-details/dialog-log-entries-details.component"; import { DialogSaveSessionComponent } from "./components/dialog-save-session/dialog-save-session.component"; +import { DialogNewPbCloisonComponent } from "./components/dialog-new-pb-cloison/dialog-new-pb-cloison.component"; import { JalhydAsyncModelValidationDirective } from "./directives/jalhyd-async-model-validation.directive"; import { @@ -195,6 +196,7 @@ const appRoutes: Routes = [ DialogLoadSessionComponent, DialogLogEntriesDetailsComponent, DialogSaveSessionComponent, + DialogNewPbCloisonComponent, FieldSetComponent, FieldsetContainerComponent, FixedResultsComponent, @@ -246,6 +248,7 @@ const appRoutes: Routes = [ DialogGeneratePABComponent, DialogGeneratePARSimulationComponent, DialogSaveSessionComponent, + DialogNewPbCloisonComponent, DialogLoadSessionComponent, DialogLogEntriesDetailsComponent ], diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html new file mode 100644 index 000000000..aa12a4308 --- /dev/null +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html @@ -0,0 +1,28 @@ +<h1 mat-dialog-title>{{ uitextSelectBasins }}</h1> + +<form> + <mat-form-field> + <mat-select [placeholder]="uiTextUpstreambasin" [(value)]="upstreamIndex" required> + <mat-option *ngFor="let b of availableIndexes" [value]="b"> + {{ basinDescription(b, uitextRiverUpstream) }} + </mat-option> + </mat-select> + </mat-form-field> + + <mat-form-field> + <mat-select [placeholder]="uiTextDownstreambasin" [(value)]="downstreamIndex" required> + <mat-option *ngFor="let b of availableIndexes" [value]="b"> + {{ basinDescription(b, uitextRiverDownstream) }} + </mat-option> + </mat-select> + </mat-form-field> + + <div mat-dialog-actions [attr.align]="'end'"> + <button mat-raised-button color="primary" [mat-dialog-close]="true" cdkFocusInitial> + {{ uitextCancel }} + </button> + <button mat-raised-button color="warn" (click)="onValidate()" [disabled]="! enableValidate"> + {{ uitextValidate }} + </button> + </div> +</form> diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss new file mode 100644 index 000000000..fc080522e --- /dev/null +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss @@ -0,0 +1,4 @@ +mat-form-field { + display: block; + margin-top: 0.5em; +} diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts new file mode 100644 index 000000000..f5513751b --- /dev/null +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts @@ -0,0 +1,96 @@ +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { Inject, Component, OnInit } from "@angular/core"; + +import { I18nService } from "../../services/internationalisation.service"; + +import { PbBassin } from "jalhyd"; + +@Component({ + selector: "dialog-new-pb-cloison", + templateUrl: "dialog-new-pb-cloison.component.html", + styleUrls: ["dialog-new-pb-cloison.component.scss"] +}) +export class DialogNewPbCloisonComponent implements OnInit { + + /** the selected upstream basin */ + public upstreamIndex: number; + + /** the selected downstream basin */ + public downstreamIndex: number; + + /** list of connectable basins, plus reiver upstream / downstrem */ + protected availableBasins: PbBassin[]; + + constructor( + public dialogRef: MatDialogRef<DialogNewPbCloisonComponent>, + private i18nService: I18nService, + @Inject(MAT_DIALOG_DATA) public data: any + ) { + this.availableBasins = data.basins; + this.upstreamIndex = 0; + this.downstreamIndex = 1; + } + + public get availableIndexes(): number[] { + // add river upstream as "0" + let ab: number[] = [ 0 ]; + for (let i = 0; i < this.availableBasins.length; i++) { + ab.push(i + 1); + } + return ab; + } + + public basinDescription(i: number, fallback: string): string { + if (i === 0) { + return fallback; + } else { + return this.i18nService.localizeText("INFO_PB_BASSIN_N") + i; + } + } + + public get enableValidate(): boolean { + return (this.upstreamIndex !== this.downstreamIndex); + } + + public onValidate(close = true) { + if (close) { + this.dialogRef.close({ + up: this.upstreamIndex, + down: this.downstreamIndex, + }); + } + return true; + } + + public ngOnInit() { + // this.initVariableValues(); + } + + public get uitextSelectBasins(): string { + return this.i18nService.localizeText("INFO_PB_NEW_WALL_SELECT_BASINS"); + } + + public get uiTextUpstreambasin(): string { + return this.i18nService.localizeText("INFO_PB_NEW_WALL_UP_BASIN"); + } + + public get uiTextDownstreambasin(): string { + return this.i18nService.localizeText("INFO_PB_NEW_WALL_DOWN_BASIN"); + } + + public get uitextRiverUpstream(): string { + return this.i18nService.localizeText("INFO_LIB_AMONT"); + } + + public get uitextRiverDownstream(): string { + return this.i18nService.localizeText("INFO_LIB_AVAL"); + } + + public get uitextValidate() { + return this.i18nService.localizeText("INFO_OPTION_VALIDATE"); + } + + public get uitextCancel() { + return this.i18nService.localizeText("INFO_OPTION_CANCEL"); + } +} diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index d87b406bc..42f056be8 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -12,6 +12,10 @@ {{ uitextAddBasin }} </button> + <button type="button" id="add-wall" mat-raised-button color="accent" (click)="onAddWallClick()" [disabled]="! enableAddWallButton"> + {{ uitextAddWall }} + </button> + <div class="hyd-window-btns"> <span class="related-entity-title"> {{ prefixedItemDescription }} @@ -20,11 +24,11 @@ <mat-option *ngFor="let i of addManyOptionsList" [value]="i"> {{ i }} </mat-option> - </mat-select> - <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()" - [title]="uitextAdd"> - <mat-icon>add_box</mat-icon> - </button> --> + </mat-select> --> + <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()" + [title]="uitextCopy"> + <mat-icon>content_copy</mat-icon> + </button> <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()" [title]="uitextRemove"> <mat-icon>delete</mat-icon> diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss index 7c3c8cb0b..f7b1167f4 100644 --- a/src/app/components/pb-schema/pb-schema.component.scss +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -26,6 +26,10 @@ mat-card-content { #add-basin { float: left; } + #add-wall { + float: left; + margin-left: .5em; + } .related-entity-title { vertical-align: middle; font-weight: bold; diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 7b4a8af0c..7f3f21e81 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -1,7 +1,8 @@ import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core"; +import { MatDialog } from '@angular/material/dialog'; import { - PreBarrage, PbBassin, PbBassinParams, PbCloison, CalculatorType + PreBarrage, PbBassin, PbBassinParams, PbCloison } from "jalhyd"; import * as mermaid from "mermaid"; @@ -10,6 +11,7 @@ import { I18nService } from "../../services/internationalisation.service"; import { ApplicationSetupService } from "../../services/app-setup.service"; import { NotificationsService } from "../../services/notifications.service"; import { PbSchema } from "../../formulaire/elements/pb-schema"; +import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component"; /** * The interactive schema for calculator type "PreBarrage" (component) @@ -61,6 +63,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { public constructor( private i18nService: I18nService, + private newPbCloisonDialog: MatDialog, private appSetupService: ApplicationSetupService, private notifService: NotificationsService ) { } @@ -132,8 +135,8 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { // styles def.push("classDef wall fill:#e8e8e8,stroke-width:0;"); - def.push("classDef node-highlighted fill:orange;"); - // def.push("classDef basin fill:black;"); + def.push("classDef basin fill:#e0f3fb,stroke:#003A80;"); // irstea-ocean 50 / 500 + def.push("classDef node-highlighted fill:#4DBBE9;"); // irstea-ocean (material "accent"), 300 // debug if (this.model.children.length === 0) { @@ -150,7 +153,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { for (const c of this.model.children) { if (c instanceof PbBassin) { def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges - // def.push(`class ${c.uid} basin;`); + def.push(`class ${c.uid} basin;`); } else if (c instanceof PbCloison) { const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid; const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid; @@ -182,7 +185,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { item.classList.add("node-highlighted"); // find what was clicked if ([ this.upstreamId, this.downstreamId ].includes(item.id)) { - console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM", item.id); this._selectedItem = undefined; } else { for (const b of this.model.children) { @@ -190,11 +192,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { this._selectedItem = b; } } - if (this._selectedItem !== undefined) { - console.log(`${this._selectedItem.calcType === CalculatorType.PbBassin ? "BASIN" : "WALL"} FOUND !`, this._selectedItem); - } else { - console.log("watt ze fyook ?"); - } } } @@ -287,6 +284,23 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { return this.i18nService.localizeText("INFO_FIELDSET_REMOVE"); } + public get enableCopyButton() { + return (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison); + } + + /** Copies a wall */ + public onCopyClick() { + const wall = this._selectedItem as PbCloison + const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval); + this.model.addChild(wallCopy); + this.unselect(); + this.refresh(); + } + + public get uitextCopy() { + return this.i18nService.localizeText("INFO_FIELDSET_COPY"); + } + /** Adds a new lone basin */ public onAddBasinClick() { this.model.addChild(new PbBassin(new PbBassinParams(20, 99))); @@ -298,6 +312,41 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { return this.i18nService.localizeText("INFO_PB_ADD_BASIN"); } + public get enableAddWallButton(): boolean { + return (this.model.bassins.length > 0); + } + + /** Adds a new lone wall, opening a modal to choose connected basins */ + public onAddWallClick() { + // open dialog + const dialogRef = this.newPbCloisonDialog.open( + DialogNewPbCloisonComponent, + { + data: { + basins: this.model.bassins + }, + disableClose: true + } + ); + // apply modifications + dialogRef.afterClosed().subscribe(result => { + if (result.up !== undefined && result.down !== undefined) { + const wall = new PbCloison( + result.up === 0 ? undefined : this.model.bassins[result.up - 1], + result.down === 0 ? undefined : this.model.bassins[result.down - 1] + ); + this.model.addChild(wall); + this.unselect(); + this.refresh(); + } + }); + } + + + public get uitextAddWall() { + return this.i18nService.localizeText("INFO_PB_ADD_WALL"); + } + /** * Computes the global Pab validity : validity of every cell of every row */ @@ -310,7 +359,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { private clearHighlightedItems() { this.nativeElement.querySelectorAll("g.node").forEach(item => { - console.log("found an item !"); item.classList.remove("node-highlighted"); }); } diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts index 0d4243781..5be43f62f 100644 --- a/src/app/formulaire/elements/pb-schema.ts +++ b/src/app/formulaire/elements/pb-schema.ts @@ -14,13 +14,6 @@ export class PbSchema extends FormulaireElement { this._confId = json["id"]; } - /** - * Returns the parent FormulairePab - */ - /* public get form(): FormulairePab { - return this.parentForm as FormulairePab; - } */ - /** * Returns the Prebarrage model associated to the parent form */ diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index c3c8350e0..cd129d423 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -435,8 +435,12 @@ "INFO_PARAMMODE_LIST": "Values list", "INFO_PARAMMODE_MINMAX": "Min/max", "INFO_PB_ADD_BASIN": "Add new basin", + "INFO_PB_ADD_WALL": "Add new wall", "INFO_PB_BASSIN_N": "Basin #", "INFO_PB_CLOISON": "Wall", + "INFO_PB_NEW_WALL_SELECT_BASINS": "Select basins to connect", + "INFO_PB_NEW_WALL_UP_BASIN": "upstream basin", + "INFO_PB_NEW_WALL_DOWN_BASIN": "Downstream basin", "INFO_PB_SCHEMA": "Basins layout", "INFO_PREBARRAGE_TITRE": "Pre-dams", "INFO_PREBARRAGE_TITRE_COURT": "Pre-dams", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 1bb518b44..eb375924f 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -435,8 +435,12 @@ "INFO_PARAMMODE_LIST": "Liste de valeurs", "INFO_PARAMMODE_MINMAX": "Min/max", "INFO_PB_ADD_BASIN": "Ajouter un bassin", + "INFO_PB_ADD_WALL": "Ajouter une cloison", "INFO_PB_BASSIN_N": "Bassin n°", "INFO_PB_CLOISON": "Cloison", + "INFO_PB_NEW_WALL_SELECT_BASINS": "Choisir les bassins à connecter", + "INFO_PB_NEW_WALL_UP_BASIN": "Bassin amont", + "INFO_PB_NEW_WALL_DOWN_BASIN": "Bassin aval", "INFO_PB_SCHEMA": "Organisation des bassins", "INFO_PREBARRAGE_TITRE": "Prébarrages", "INFO_PREBARRAGE_TITRE_COURT": "Prébarrages", -- GitLab From fd54955fabd617265f0cb1282abfc19b731609db Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 29 May 2020 16:50:12 +0200 Subject: [PATCH 052/117] PreBarrage: update wall creation modal can now create upstream to downstream direct connections unrelevant list elements are grayed-out --- .../dialog-new-pb-cloison.component.html | 4 +-- .../dialog-new-pb-cloison.component.ts | 36 +++++++++++++++++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html index aa12a4308..a6587c773 100644 --- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html @@ -3,7 +3,7 @@ <form> <mat-form-field> <mat-select [placeholder]="uiTextUpstreambasin" [(value)]="upstreamIndex" required> - <mat-option *ngFor="let b of availableIndexes" [value]="b"> + <mat-option *ngFor="let b of availableUpstreamIndexes" [value]="b" [disabled]="! basinIsSelectable(b, false)"> {{ basinDescription(b, uitextRiverUpstream) }} </mat-option> </mat-select> @@ -11,7 +11,7 @@ <mat-form-field> <mat-select [placeholder]="uiTextDownstreambasin" [(value)]="downstreamIndex" required> - <mat-option *ngFor="let b of availableIndexes" [value]="b"> + <mat-option *ngFor="let b of availableDownstreamIndexes" [value]="b" [disabled]="! basinIsSelectable(b, true)"> {{ basinDescription(b, uitextRiverDownstream) }} </mat-option> </mat-select> diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts index f5513751b..d562f03d3 100644 --- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts @@ -28,10 +28,10 @@ export class DialogNewPbCloisonComponent implements OnInit { ) { this.availableBasins = data.basins; this.upstreamIndex = 0; - this.downstreamIndex = 1; + this.downstreamIndex = 0; } - public get availableIndexes(): number[] { + public get availableUpstreamIndexes(): number[] { // add river upstream as "0" let ab: number[] = [ 0 ]; for (let i = 0; i < this.availableBasins.length; i++) { @@ -40,6 +40,32 @@ export class DialogNewPbCloisonComponent implements OnInit { return ab; } + public get availableDownstreamIndexes(): number[] { + let ab: number[] = [ ]; + for (let i = 0; i < this.availableBasins.length; i++) { + ab.push(i + 1); + } + // add river downstream as "0" + ab.push(0); + return ab; + } + + /** + * Returns true if a basin is selectable in the possible upstream basins list, + * considering which downstream basin is currently selected + * @param index index of basin + * @param downstream if true, inverts the test + */ + public basinIsSelectable(index: number, downstream: boolean = false): boolean { + let ok = true; + if (downstream) { + return (this.upstreamIndex === 0 || index > this.upstreamIndex) + } else { + return (this.downstreamIndex === 0 || index < this.downstreamIndex) + } + return ok; + } + public basinDescription(i: number, fallback: string): string { if (i === 0) { return fallback; @@ -48,8 +74,12 @@ export class DialogNewPbCloisonComponent implements OnInit { } } + // @TODO redundant with lists filtering, useless public get enableValidate(): boolean { - return (this.upstreamIndex !== this.downstreamIndex); + return ( + this.upstreamIndex !== this.downstreamIndex + || this.upstreamIndex === 0 // river upstream to river downstream direct connection is allowed + ); } public onValidate(close = true) { -- GitLab From 4c7674fb66e905670547d3ac220192b3a9529fca Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 11:32:07 +0200 Subject: [PATCH 053/117] PreBarrage: sort graph nodes to prevent lines crossings --- .../pb-schema/pb-schema.component.ts | 102 ++++++++++++++---- 1 file changed, 81 insertions(+), 21 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 7f3f21e81..d9fc50026 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -122,7 +122,8 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { /** * Builds a Mermaid graph text definition, using Nodes - * to represent basins as well as walls + * to represent basins as well as walls; sorts connexions + * to prevent lines crossings */ private graphDefinition() { this.existingWalls = {}; @@ -140,45 +141,104 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { // debug if (this.model.children.length === 0) { - const b1 = new PbBassin(new PbBassinParams(0.1, 42)); + // EXEMPLE 1 (petit) + /* const b1 = new PbBassin(new PbBassinParams(0.1, 42)); this.model.addChild(b1); const b2 = new PbBassin(new PbBassinParams(0.15, 38)); this.model.addChild(b2); this.model.addChild(new PbCloison(undefined, b1)); this.model.addChild(new PbCloison(b1, b2)); this.model.addChild(new PbCloison(b2, undefined)); - this.model.addChild(new PbCloison(b1, undefined)); + this.model.addChild(new PbCloison(b1, undefined)); */ + + // EXEMPLE 2 (grand) + this.model.addChild(new PbBassin(new PbBassinParams(13.80, 95))); + this.model.addChild(new PbBassin(new PbBassinParams(15.40, 94.70))); + this.model.addChild(new PbBassin(new PbBassinParams(16.20, 94.70))); + this.model.addChild(new PbBassin(new PbBassinParams(17.50, 94.40))); + this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25))); + this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10))); + this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin)); + this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin)); + this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin)); + this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin)); + this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined)); } + const sortedWalls: PbCloison[] = []; for (const c of this.model.children) { if (c instanceof PbBassin) { def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges def.push(`class ${c.uid} basin;`); } else if (c instanceof PbCloison) { - const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid; - const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid; - // record this wall - const basinsPair = upstreamBasinId + "-" + downstreamBasinId; - if (! (basinsPair in this.existingWalls)) { - this.existingWalls[basinsPair] = 0; - } - // affect suffix if needed - if (this.existingWalls[basinsPair] > 0) { - this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair]; - } - this.existingWalls[basinsPair]++; - // draw wall Node - def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges - def.push(`class ${c.uid} wall;`); - // draw "arrow" with 2 lines - def.push(`${upstreamBasinId}---${c.uid}`); // up line - def.push(`${c.uid}-->${downstreamBasinId}`); // down arrow + // store, to draw later + sortedWalls.push(c); + } + } + // sort then draw walls + sortedWalls.sort(this.triCloisonsGaucheDroite); + for (const c of sortedWalls) { + const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid; + const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid; + // record this wall + const basinsPair = upstreamBasinId + "-" + downstreamBasinId; + if (! (basinsPair in this.existingWalls)) { + this.existingWalls[basinsPair] = 0; + } + // affect suffix if needed + if (this.existingWalls[basinsPair] > 0) { + this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair]; } + this.existingWalls[basinsPair]++; + // draw wall Node + def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges + def.push(`class ${c.uid} wall;`); + // draw "arrow" with 2 lines + def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`); } return def.join("\n"); } + /** gauche d'abord, droite ensuite */ + private triCloisonsGaucheDroite(a: PbCloison, b: PbCloison) { + // ultra-gauchistes + if (a.bassinAmont === undefined && a.bassinAval === undefined) { + return -1; + } + if (b.bassinAmont === undefined && b.bassinAval === undefined) { + return 1; + } + // si A est un super-gauchiste + if (a.bassinAmont === undefined || a.bassinAval === undefined) { + // B est-il aussi un super-gauchiste ? + if (b.bassinAmont === undefined || b.bassinAval === undefined) { + // comparer le bassin restant + const bassinA = (a.bassinAmont === undefined ? a.bassinAval : a.bassinAmont); + const bassinB = (b.bassinAmont === undefined ? b.bassinAval : b.bassinAmont); + return (bassinA.findPositionInParent() <= bassinB.findPositionInParent()) ? -1 : 1; + } + // sinon A gagne + return -1; + } + // si B est un super-gauchiste + if (b.bassinAmont === undefined || b.bassinAval === undefined) { + // B gagne (le cas de A super-gauchiste est éliminé avant) + return 1; + } + // sinon, aucun des deux n'est super-gauchiste, comparaison des bassins amont et aval + const sommeA = a.bassinAmont.findPositionInParent() + a.bassinAval.findPositionInParent(); + const sommeB = b.bassinAmont.findPositionInParent() + b.bassinAval.findPositionInParent(); + return (sommeA <= sommeB ? -1 : 1); + }; + private selectNode(item: any) { // highlight clicked element this.clearHighlightedItems(); -- GitLab From bcd70677e26436478e48668a0442ed6baee7f879 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 14:04:17 +0200 Subject: [PATCH 054/117] PreBarrage: show data or results on the right side, not both --- .../calculator.component.html | 23 +++++++-- .../calculator.component.scss | 49 +++++++++++++++++++ .../calculator.component.ts | 13 ++++- .../pb-schema/pb-schema.component.html | 9 +--- .../pb-schema/pb-schema.component.scss | 8 +-- .../pb-schema/pb-schema.component.ts | 8 ++- 6 files changed, 92 insertions(+), 18 deletions(-) diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html index d1f8ae992..d9f3b2650 100644 --- a/src/app/components/generic-calculator/calculator.component.html +++ b/src/app/components/generic-calculator/calculator.component.html @@ -38,7 +38,18 @@ </mat-card-header> - <quicknav [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'input'" [align]="'left'"></quicknav> + <quicknav *ngIf="! isPB" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'input'" [align]="'left'"></quicknav> + + <div *ngIf="isPB" class="fake-quicknav" id="pb-data-results-selector"> + <div class="drs-row"> + <div class="drs-item" [class.current]="showPBInputData"> + <a (click)="showPBInputData = true;">{{ uitextInputData }}</a> + </div> + <div class="drs-item" [class.current]="! showPBInputData"> + <a (click)="showPBInputData = false;">{{ uitextResults }}</a> + </div> + </div> + </div> <form> @@ -61,7 +72,8 @@ <div id="calc-card-field-sets-container" [fxLayout]="isPB ? 'row wrap' : 'column'"> <ng-template ngFor let-fe [ngForOf]="formElements"> - <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe + <field-set *ngIf="isFieldset(fe)" + [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) (tabPressed)="onTabPressed($event)" [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'" @@ -69,7 +81,8 @@ [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'"> </field-set> - <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe + <fieldset-container *ngIf="isFieldsetContainer(fe)" + [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) (tabPressed)="onTabPressed($event)" fxFlex="1 0 auto"> @@ -105,14 +118,14 @@ <!-- résultats --> <mat-card id="calc-card-results" - [class.pab-results]="isWide" + [class.pab-results]="isWide" [hidden]="isPB && showPBInputData" [fxFlex.gt-sm]="isWide ? '1 0 auto' : '1 0 400px'" [fxFlex.lt-md]="isWide ? '1 0 auto' : '1 0 500px'" [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'"> <div id="fake-results-anchor"></div> - <quicknav [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav> + <quicknav *ngIf="! isPB" [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav> <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isWide"> <mat-card-title> diff --git a/src/app/components/generic-calculator/calculator.component.scss b/src/app/components/generic-calculator/calculator.component.scss index 4430eb11f..6c19dd011 100644 --- a/src/app/components/generic-calculator/calculator.component.scss +++ b/src/app/components/generic-calculator/calculator.component.scss @@ -26,6 +26,55 @@ display: block; } +/** copy of quicknav style */ +#pb-data-results-selector { + + @import "../../../theme.scss"; + + display: block; + margin-bottom: .5em; + width: 100%; + + .drs-item { + display: inline; + padding: 0 .5em 3px .5em; + text-transform: uppercase; + font-size: 18px; + font-weight: normal; + + &.current { + @extend .border-accent; + border-bottom-width: 2px; + border-bottom-style: solid; + font-size: 24px; + + a { + // font-weight: bold; + @extend .color-accent; + } + } + + a { + cursor: pointer; + color: #cbcbcb; + &:focus { + outline: none; + } + &:hover { + color: #707070; + } + } + } + + .drs-item:first-of-type { + padding-left: 0; + } + + .drs-item:last-of-type { + padding-right: 0; + } +} + mat-card { margin-bottom: 2em; diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index e84519018..c0fa6f0a3 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -121,6 +121,9 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe /** Allows trigerring afterFirstViewChecked() just after calculator is loaded */ private firstViewChecked = false; + /** For PreBarrage only: if true, show input data in the right panel, else show results */ + public showPBInputData = true; + public get ID() { if (this._formulaire) { return this._formulaire.uid; @@ -254,6 +257,14 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return this.intlService.localizeText("INFO_CALCULATOR_USED_BY"); } + public get uitextInputData() { + return this.intlService.localizeText("INFO_QUICKNAV_INPUT"); + } + + public get uitextResults() { + return this.intlService.localizeText("INFO_QUICKNAV_RESULTS"); + } + public get quicknavItems() { const elts = [ "input", "results" ]; if (this.isWide && this.hasResults) { @@ -578,7 +589,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe // for "one wide column" layout public get isWide() { - return (this.isPAB || this.isMRC || this.isPB); + return (this.isPAB || this.isMRC || (this.isPB && this.showPBInputData)); } // true if current Nub is Solveur diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index 42f056be8..1ac51ca73 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -1,4 +1,4 @@ -<mat-card-header class="mat-card-header-text-margin-0 bg-accent-light"> +<mat-card-header class="mat-card-header-text-margin-0 bg-accent-light" [ngClass]="{'side': ! showInputData}"> <mat-card-title> {{ title }} </mat-card-title> @@ -20,11 +20,6 @@ <span class="related-entity-title"> {{ prefixedItemDescription }} </span> - <!-- <mat-select id="add-many-children" [(value)]="childrenToAdd"> - <mat-option *ngFor="let i of addManyOptionsList" [value]="i"> - {{ i }} - </mat-option> - </mat-select> --> <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()" [title]="uitextCopy"> <mat-icon>content_copy</mat-icon> @@ -44,6 +39,6 @@ <div id="schema" #schema></div> - <pre id="debug">{{ graphDef }} </pre> + <!-- <pre id="debug">{{ graphDef }} </pre> --> </mat-card-content> diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss index f7b1167f4..a398740b8 100644 --- a/src/app/components/pb-schema/pb-schema.component.scss +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -12,6 +12,10 @@ mat-card-header { padding-top: 8px; color: white; + &.side { + margin-right: -32px; + } + mat-card-title { font-size: 16px !important; margin-bottom: 8px; @@ -53,7 +57,3 @@ mat-card-content { margin-bottom: .5em; text-align: center; } - -#debug { - /* display: none; */ -} diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index d9fc50026..4e2f6952f 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core"; +import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild, Inject, forwardRef } from "@angular/core"; import { MatDialog } from '@angular/material/dialog'; import { @@ -12,6 +12,7 @@ import { ApplicationSetupService } from "../../services/app-setup.service"; import { NotificationsService } from "../../services/notifications.service"; import { PbSchema } from "../../formulaire/elements/pb-schema"; import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component"; +import { GenericCalculatorComponent } from '../generic-calculator/calculator.component'; /** * The interactive schema for calculator type "PreBarrage" (component) @@ -62,6 +63,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { private wallsSuffixes: { [key: string]: number }; public constructor( + @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent, private i18nService: I18nService, private newPbCloisonDialog: MatDialog, private appSetupService: ApplicationSetupService, @@ -269,6 +271,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { return this._isValid; } + public get showInputData(): boolean { + return this.calculatorComponent.showPBInputData; + } + /** * Checks that input value is a valid number, according to input[type="number"] algorithm, * and stores it in cell.uiValidity, so that the <td> element can access it and get angry -- GitLab From 955fe618f9546146df5121f2a51652b82cc67eb1 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 16:45:43 +0200 Subject: [PATCH 055/117] Rewrote Promise.then() with async/await --- src/app/app.component.ts | 11 ++- .../app-setup/app-setup.component.ts | 9 +-- .../calculator-list.component.ts | 81 +++++++++---------- .../dialog-load-session.component.ts | 27 +++---- .../fixedvar-results/results.component.ts | 14 ++-- .../calculator.component.ts | 35 +++----- .../select-model-field-line.component.ts | 21 +++-- src/app/services/app-setup.service.ts | 38 +++++---- src/app/services/formulaire.service.ts | 49 ++++++----- .../services/internationalisation.service.ts | 17 ++-- 10 files changed, 136 insertions(+), 166 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 19b869681..4aab33e64 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -654,12 +654,12 @@ export class AppComponent implements OnInit, OnDestroy, Observer { }); } - public loadSessionFile(f: File, info?: any) { + public async loadSessionFile(f: File, info?: any) { // notes merge detection: was there already some notes ? const existingNotes = Session.getInstance().documentation; // load - this.formulaireService.loadSession(f, info) - .then((data) => { + try { + const data = await this.formulaireService.loadSession(f, info) if (data.hasErrors) { this.notificationsService.notify(this.intlService.localizeText("ERROR_PROBLEM_LOADING_SESSION"), 3500); } else { @@ -678,13 +678,12 @@ export class AppComponent implements OnInit, OnDestroy, Observer { } } } - }) - .catch((err) => { + } catch(err) { this.notificationsService.notify(this.intlService.localizeText("ERROR_LOADING_SESSION"), 3500); console.error("error loading session - ", err); // rollback to ensure session is clean this.doEmptySession(); - }); + } } /** diff --git a/src/app/components/app-setup/app-setup.component.ts b/src/app/components/app-setup/app-setup.component.ts index 85b0d4512..9e2c917ef 100644 --- a/src/app/components/app-setup/app-setup.component.ts +++ b/src/app/components/app-setup/app-setup.component.ts @@ -133,12 +133,11 @@ export class ApplicationSetupComponent implements Observer, OnInit { }); } - public restoreDefaultValues() { + public async restoreDefaultValues() { const text = this.intlService.localizeText("INFO_SNACKBAR_DEFAULT_SETTINGS_RESTORED"); - this.appSetupService.restoreDefaultValues().then(() => { - this.snackBar.open(text, "OK", { - duration: 2500 - }); + await this.appSetupService.restoreDefaultValues(); + this.snackBar.open(text, "OK", { + duration: 2500 }); } diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts index fa269332b..c8482f556 100644 --- a/src/app/components/calculator-list/calculator-list.component.ts +++ b/src/app/components/calculator-list/calculator-list.component.ts @@ -110,53 +110,49 @@ export class CalculatorListComponent implements OnInit { } } - public create(t: CalculatorType) { - const p: Promise<FormulaireDefinition> = ServiceFactory.instance.formulaireService.createFormulaire(t); - p.then(f => { - this.router.navigate(["/calculator", f.uid]); - return f; - }).then(f => { - // on ajoute un ouvrage après l'ouverture du module de calcul "ouvrages parallèles" - if (f instanceof FormulaireParallelStructure) { - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { - e.addFromTemplate(0); - break; - } + public async create(t: CalculatorType) { + const f: FormulaireDefinition = await ServiceFactory.instance.formulaireService.createFormulaire(t); + await this.router.navigate(["/calculator", f.uid]); + // on ajoute un ouvrage après l'ouverture du module de calcul "ouvrages parallèles" + if (f instanceof FormulaireParallelStructure) { + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { + e.addFromTemplate(0); + break; } } - // on ajoute un ouvrage après l'ouverture du module de calcul "passe à bassins" - if (f instanceof FormulairePab) { - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { - e.addFromTemplate(0); - break; - } + } + // on ajoute un ouvrage après l'ouverture du module de calcul "passe à bassins" + if (f instanceof FormulairePab) { + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { + e.addFromTemplate(0); + break; } } - // adding GUI for default apron, in MacroRugoCompound - if (f instanceof FormulaireMacrorugoCompound) { - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { - e.addFromTemplate(0, 0, f.currentNub.getChildren()[0]); - break; - } + } + // adding GUI for default apron, in MacroRugoCompound + if (f instanceof FormulaireMacrorugoCompound) { + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { + e.addFromTemplate(0, 0, f.currentNub.getChildren()[0]); + break; } } - // on ajoute un YAXN après l'ouverture du module de calcul "somme / produit de puissances" - if (f instanceof FormulaireSPP) { - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { - e.addFromTemplate(0); - break; - } + } + // on ajoute un YAXN après l'ouverture du module de calcul "somme / produit de puissances" + if (f instanceof FormulaireSPP) { + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { + e.addFromTemplate(0); + break; } } + } - if (this.appSetupService.enableEmptyFieldsOnFormInit) { - f.emptyFields(); - } - }); + if (this.appSetupService.enableEmptyFieldsOnFormInit) { + f.emptyFields(); + } } public get nbOpenCalculators() { @@ -199,14 +195,15 @@ export class CalculatorListComponent implements OnInit { ]; } - public loadExample(path: string) { + public async loadExample(path: string) { const realPath = "app/examples/" + path; - this.httpService.httpGetBlobRequestPromise(realPath).then((d) => { + try { + const d = await this.httpService.httpGetBlobRequestPromise(realPath); const f: any = new Blob([d], { type: "application/json" }); this.appComponent.loadSessionFile(f); - }).catch((e) => { + } catch(e) { console.error("could not load session file", e); - }); + } } public get uitextWelcomeTitle() { diff --git a/src/app/components/dialog-load-session/dialog-load-session.component.ts b/src/app/components/dialog-load-session/dialog-load-session.component.ts index a8f7aa817..291de8698 100644 --- a/src/app/components/dialog-load-session/dialog-load-session.component.ts +++ b/src/app/components/dialog-load-session/dialog-load-session.component.ts @@ -138,7 +138,7 @@ export class DialogLoadSessionComponent { this.checkLinkedParamsAndModelsDependencies(); } - public onFileSelected(event: any) { + public async onFileSelected(event: any) { if (event.target.files && event.target.files.length) { this.file = event.target.files[0]; // reinit file infos @@ -149,23 +149,22 @@ export class DialogLoadSessionComponent { this.loadingComplete = false; const formService = ServiceFactory.instance.formulaireService; - formService.calculatorInfosFromSessionFile(this.file).then( - calcInfos => { - this.fileFormatVersion = calcInfos.formatVersion; - this.calculators = calcInfos.nubs; - for (const n of this.calculators) { - n.selected = true; - // if no title was given, generate a default one - if (! n.title) { - n.title = decode(formService.getLocalisedShortTitleFromCalculatorType(n.type)); - } + try { + const calcInfos: any = await formService.calculatorInfosFromSessionFile(this.file); + this.fileFormatVersion = calcInfos.formatVersion; + this.calculators = calcInfos.nubs; + for (const n of this.calculators) { + n.selected = true; + // if no title was given, generate a default one + if (! n.title) { + n.title = decode(formService.getLocalisedShortTitleFromCalculatorType(n.type)); } - this.loadingComplete = true; } - ).catch((err) => { + this.loadingComplete = true; + } catch(err) { console.error(err); this.loadingError = true; - }); + } } } diff --git a/src/app/components/fixedvar-results/results.component.ts b/src/app/components/fixedvar-results/results.component.ts index e1829e929..ab70880f0 100644 --- a/src/app/components/fixedvar-results/results.component.ts +++ b/src/app/components/fixedvar-results/results.component.ts @@ -27,21 +27,19 @@ export class ResultsComponentDirective { } } - public setFullscreen(element): Promise<void> { + public async setFullscreen(element): Promise<void> { const sf = <Screenfull>screenfull; if (sf.isEnabled) { - return sf.request(element).then(() => { - this.fullscreenChange(true); - }); + await sf.request(element); + this.fullscreenChange(true); } } - public exitFullscreen(): Promise<void> { + public async exitFullscreen(): Promise<void> { const sf = <Screenfull>screenfull; if (sf.isEnabled) { - return sf.exit().then(() => { - this.fullscreenChange(false); - }); + await sf.exit(); + this.fullscreenChange(false); } } diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index c0fa6f0a3..b32796c5c 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -692,10 +692,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe disableClose: false } ); - dialogRef.afterClosed().subscribe(result => { + dialogRef.afterClosed().subscribe(async result => { if (result) { if (result.generate) { - this.formulaireService.createFormulaire(CalculatorType.Pab).then((f: FormulaireDefinition) => { + const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.Pab); const pab = (f.currentNub as Pab); const params = pab.prms; // paramètres hydrauliques @@ -707,7 +707,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe pab.addCloisonsFromModel(this._formulaire.currentNub as Cloisons, result.nbBassins); // go to new PAB this.router.navigate(["/calculator", f.uid]); - }); } } }); @@ -804,7 +803,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe * @param Ys tirant(s) d'eau * @param Ifs pente(s) */ - private generateBiefSP(Ys: number | number[], Ifs: number | number[]) { + private async generateBiefSP(Ys: number | number[], Ifs: number | number[]) { const bief = (this._formulaire.currentNub as Bief); const serialisedSection = bief.section.serialise(); const sectionCopy = Session.getInstance().unserialiseSingleNub(serialisedSection, false).nub; @@ -822,18 +821,15 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe } } - this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam) - .then((f: FormulaireDefinition) => { + const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam); const sp = (f.currentNub as SectionParametree); sp.section.prms.Y.setValues(Ys); sp.section.prms.If.setValues(Ifs); // calculate f.doCompute(); // go to new SP - this.router.navigate(["/calculator", f.uid]).then(); + this.router.navigate(["/calculator", f.uid]); } - ); - } public get generateRuSpEnabled(): boolean { return this.hasResults && ! this._formulaire.currentNub.result.hasErrorMessages(); @@ -850,7 +846,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe /** * Génère une SectionParametree à partir du module RegimeUniforme en cours */ - public generateRuSp() { + public async generateRuSp() { const ru = (this._formulaire.currentNub as RegimeUniforme); // copy section const serialisedSection = ru.section.serialise(); @@ -866,14 +862,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe } Session.getInstance().registerNub(secParam); - this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam) - .then((f: FormulaireDefinition) => { + const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam); // calculate f.doCompute(); // go to new SP } - ); - } public get generatePARSimulationEnabled(): boolean { const parCalage = (this._formulaire.currentNub as Par); @@ -971,7 +964,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe * Creates a new Formulaire with a ParSimulation Nub, using given * values as parameters */ - protected doGenerateParSimWithValues(v: any) { + protected async doGenerateParSimWithValues(v: any) { const parCalage = (this._formulaire.currentNub as Par); const psim = new ParSimulationParams( round(v.Q, 3), round(v.Z1, 3), round(v.Z2, 3), @@ -984,14 +977,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe parSimulation.parType = parCalage.parType; Session.getInstance().registerNub(parSimulation); - this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation) - .then((f: FormulaireDefinition) => { + const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation); // calculate f.doCompute(); // go to new ParSimulation - this.router.navigate(["/calculator", f.uid]).then(); - } - ); + this.router.navigate(["/calculator", f.uid]); } public saveCalculator() { @@ -1018,11 +1008,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe /** * Duplicates the current calculator form */ - public cloneCalculator() { + public async cloneCalculator() { const serialisedNub: string = this._formulaire.currentNub.serialise({ title: this._formulaire.calculatorName }); const nubPointer = Session.getInstance().unserialiseSingleNub(serialisedNub); - this.formulaireService.createFormulaire(nubPointer.nub.calcType, nubPointer.nub, nubPointer.meta.title).then((f) => { + const f = await this.formulaireService.createFormulaire(nubPointer.nub.calcType, nubPointer.nub, nubPointer.meta.title); this.router.navigate(["/calculator", f.uid]); - }); } } diff --git a/src/app/components/select-model-field-line/select-model-field-line.component.ts b/src/app/components/select-model-field-line/select-model-field-line.component.ts index 592e3032e..f88877835 100644 --- a/src/app/components/select-model-field-line/select-model-field-line.component.ts +++ b/src/app/components/select-model-field-line/select-model-field-line.component.ts @@ -77,18 +77,15 @@ export class SelectModelFieldLineComponent implements OnInit { * Creates a new Nub of type _select.calcType, to be used as a model * when no other is available */ - public createModel() { - this._formService.createFormulaire(this._select.calcType).then(f => { - this.router.navigate(["/calculator", f.uid]); - return f; - }).then(f => { - // on ajoute un ouvrage aux modulex de type "parallèle" - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { - e.addFromTemplate(0); - break; - } + public async createModel() { + const f = await this._formService.createFormulaire(this._select.calcType); + this.router.navigate(["/calculator", f.uid]); + // on ajoute un ouvrage aux modulex de type "parallèle" + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { + e.addFromTemplate(0); + break; } - }); + } } } diff --git a/src/app/services/app-setup.service.ts b/src/app/services/app-setup.service.ts index 2850c2c7b..7a2d2a30b 100644 --- a/src/app/services/app-setup.service.ts +++ b/src/app/services/app-setup.service.ts @@ -114,13 +114,12 @@ export class ApplicationSetupService extends Observable { /** * Restore configuration values */ - public restoreDefaultValues(): Promise<any> { - return this.readValuesFromConfig().then(() => { - // notify I18nService - this.notifyObservers({ - action: "languagePreferenceChanged", - languages: [ this.language ] - }); + public async restoreDefaultValues(): Promise<any> { + await this.readValuesFromConfig() + // notify I18nService + this.notifyObservers({ + action: "languagePreferenceChanged", + languages: [ this.language ] }); } @@ -171,18 +170,17 @@ export class ApplicationSetupService extends Observable { /** * Read configuration values from config (async) */ - private readValuesFromConfig(): Promise<any> { - return this.httpService.httpGetRequestPromise(this.CONFIG_FILE_PATH).then((data: any) => { - // get all config values (volontarily non-generic to prevent side-effects) - this.displayPrecision = data.params.displayPrecision; - this.computePrecision = data.params.computePrecision; - this.maxIterations = data.params.maxIterations; - this.enableNotifications = data.params.enableNotifications; - this.enableHotkeys = data.params.enableHotkeys; - this.enableEmptyFieldsOnFormInit = data.params.enableEmptyFieldsOnFormInit; - this.language = data.params.language; - // load themes for calculators list page - this.themes = data.themes; - }); + private async readValuesFromConfig(): Promise<any> { + const data: any = await this.httpService.httpGetRequestPromise(this.CONFIG_FILE_PATH); + // get all config values (volontarily non-generic to prevent side-effects) + this.displayPrecision = data.params.displayPrecision; + this.computePrecision = data.params.computePrecision; + this.maxIterations = data.params.maxIterations; + this.enableNotifications = data.params.enableNotifications; + this.enableHotkeys = data.params.enableHotkeys; + this.enableEmptyFieldsOnFormInit = data.params.enableEmptyFieldsOnFormInit; + this.language = data.params.language; + // load themes for calculators list page + this.themes = data.themes; } } diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts index 101572ca1..e4bb9b0b9 100644 --- a/src/app/services/formulaire.service.ts +++ b/src/app/services/formulaire.service.ts @@ -83,11 +83,12 @@ export class FormulaireService extends Observable { * Loads the localisation file dedicated to calculator type ct; tries the current * language then the fallback language; uses cache if available */ - public loadLocalisation(calc: CalculatorType): Promise<any> { + public async loadLocalisation(calc: CalculatorType): Promise<any> { const lang = this._intlService.currentLanguage; - return this.loadLocalisationForLang(calc, lang).then((localisation) => { + try { + const localisation = await this.loadLocalisationForLang(calc, lang); return localisation as StringMap; - }).catch((e) => { + } catch(e) { console.error(e); // try default lang (the one in the config file) ? const fallbackLang = this.appSetupService.fallbackLanguage; @@ -95,14 +96,14 @@ export class FormulaireService extends Observable { console.error(`trying fallback language: ${fallbackLang}`); return this.loadLocalisationForLang(calc, fallbackLang); } - }); + } } /** * Loads the localisation file dedicated to calculator type ct for language lang; * keeps it in cache for subsequent calls () */ - private loadLocalisationForLang(calc: CalculatorType, lang: string): Promise<any> { + private async loadLocalisationForLang(calc: CalculatorType, lang: string): Promise<any> { const ct = String(calc); // already in cache ? if (Object.keys(this._languageCache).includes(ct) && Object.keys(this._languageCache[calc]).includes(lang)) { @@ -111,27 +112,27 @@ export class FormulaireService extends Observable { }); } else { const f: string = this.getConfigPathPrefix(calc) + lang + ".json"; - return this._httpService.httpGetRequestPromise(f).then((localisation) => { + try { + const localisation = await this._httpService.httpGetRequestPromise(f); this._languageCache[ct] = this._languageCache[ct] || {}; this._languageCache[ct][lang] = localisation; return localisation as StringMap; - }).catch((e) => { + } catch(e) { throw new Error(`LOCALISATION_FILE_NOT_FOUND "${f}"`); - }); } } + } /** * Loads localisation file corresponding to current language then updates all form strings, * only if form language was not already set to current language */ - public loadUpdateFormulaireLocalisation(f: FormulaireDefinition): Promise<FormulaireDefinition> { + public async loadUpdateFormulaireLocalisation(f: FormulaireDefinition): Promise<FormulaireDefinition> { const requiredLang = this._intlService.currentLanguage; if (requiredLang !== f.currentLanguage) { - return this.loadLocalisation(f.calculatorType).then(localisation => { + const localisation = await this.loadLocalisation(f.calculatorType); f.updateLocalisation(localisation, requiredLang); return f; - }); } } @@ -322,13 +323,12 @@ export class FormulaireService extends Observable { * @param nub nub existant à associer au formulaire (chargement de session / duplication de module) * @param calculatorName nom du module, à afficher dans l'interface */ - public createFormulaire(ct: CalculatorType, nub?: Nub, calculatorName?: string): Promise<FormulaireDefinition> { + public async createFormulaire(ct: CalculatorType, nub?: Nub, calculatorName?: string): Promise<FormulaireDefinition> { // Crée un formulaire du bon type const f: FormulaireDefinition = this.newFormulaire(ct); this._formulaires.push(f); // Charge la configuration dépendamment du type - const prom: Promise<any> = this.loadConfig(ct); - return prom.then(s => { + const s: any = await this.loadConfig(ct); f.preparseConfig(s); // Associe le Nub fourni (chargement de session / duplication de module), sinon en crée un nouveau @@ -413,16 +413,11 @@ export class FormulaireService extends Observable { newDownWall.addChild(newDownwallDevice); f.pabNub.downWall = newDownWall; } - - return f; - - }).then(fi => { this.notifyObservers({ "action": "createForm", - "form": fi - }); - return fi; + "form": f }); + return f; } /** @@ -640,10 +635,13 @@ export class FormulaireService extends Observable { * obtient des infos (nom, uid des modules de calcul, dépendances) d'un fichier session * @param f fichier session */ - public calculatorInfosFromSessionFile(f: File): Promise<{ nubs: any[], formatVersion: string }> { - return this.readSingleFile(f).then(s => { + public async calculatorInfosFromSessionFile(f: File): Promise<{ nubs: any[], formatVersion: string }> { + const s = await this.readSingleFile(f); // return value - const res: { nubs: any[], formatVersion: string } = { + const res: { + nubs: any[]; + formatVersion: string; + } = { nubs: [], formatVersion: "" }; @@ -661,7 +659,7 @@ export class FormulaireService extends Observable { // list linked params dependencies for each Nub if (e.parameters) { e.parameters.forEach((p) => { - if (p.targetNub && ! nubInfo.requires.includes(p.targetNub)) { + if (p.targetNub && !nubInfo.requires.includes(p.targetNub)) { nubInfo.requires.push(p.targetNub); } }); @@ -680,7 +678,6 @@ export class FormulaireService extends Observable { res.formatVersion = data.header.format_version; } return res; - }); } public saveForm(f: FormulaireDefinition) { diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts index 67b16fa79..50e1e4cbe 100644 --- a/src/app/services/internationalisation.service.ts +++ b/src/app/services/internationalisation.service.ts @@ -59,7 +59,7 @@ export class I18nService extends Observable implements Observer { * * @param code ISO 639-1 language code */ - public setLanguage(code: string) { + public async setLanguage(code: string) { // is language supported ? if (! Object.keys(this._availableLanguages).includes(code)) { throw new Error(`LANGUAGE_UNSUPPORTED "${code}"`); @@ -70,11 +70,10 @@ export class I18nService extends Observable implements Observer { this._Messages = undefined; // reload all messages const that = this; - this.httpGetMessages(code).then((res: any) => { - that._Messages = res; - // propagate language change to all application - that.notifyObservers(undefined); - }); + const res: any = await this.httpGetMessages(code); + that._Messages = res; + // propagate language change to all application + that.notifyObservers(undefined); } } @@ -82,12 +81,10 @@ export class I18nService extends Observable implements Observer { * Loads localized messages from JSON files for the given language * (general messages files, not calculator-specific ones) */ - private httpGetMessages(lang: string): Promise<void> { + private async httpGetMessages(lang: string): Promise<any> { const fileName = "messages." + lang + ".json"; const filePath = "locale/" + fileName; - return this.httpService.httpGetRequestPromise(filePath).then((res: any) => { - return res; - }); + return await this.httpService.httpGetRequestPromise(filePath); } private getMessageFromCode(c: MessageCode): string { -- GitLab From cd583909ff5c4a7e3965037d339c3e999a66293a Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 17:02:14 +0200 Subject: [PATCH 056/117] [WIP] subform system for PreBarrage --- src/app/calculators/prebarrage/config.json | 131 ++++++++-- .../calculator.component.html | 2 +- .../calculator.component.ts | 37 +-- .../pb-schema/pb-schema.component.html | 2 +- .../pb-schema/pb-schema.component.scss | 4 + .../pb-schema/pb-schema.component.ts | 24 +- .../formulaire/definition/form-definition.ts | 19 +- .../formulaire/definition/form-prebarrage.ts | 116 +++++++++ src/app/services/formulaire.service.ts | 237 +++++++++--------- 9 files changed, 394 insertions(+), 178 deletions(-) create mode 100644 src/app/formulaire/definition/form-prebarrage.ts diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json index 754fbc81d..6c72eac2d 100644 --- a/src/app/calculators/prebarrage/config.json +++ b/src/app/calculators/prebarrage/config.json @@ -4,24 +4,127 @@ "type": "pb_schema" }, { - "id": "fs_params", - "type": "fieldset", - "fields": [ + "id": "subform_river", + "type": "subform", + "config": [ { - "id": "select_upstream", - "type": "select_reference", - "reference": "nub", - "source": "upstream_stuff" + "id": "fs_river_params", + "type": "fieldset", + "fields": [ + "Q", + "Z1", + "Z2" + ] }, { - "id": "select_downstream", - "type": "select_reference", - "reference": "nub", - "source": "downstream_stuff" + "type": "options", + "selectIds": [ ] + } + ] + }, + { + "id": "subform_basin", + "type": "subform", + "config": [ + { + "id": "fs_basin_params", + "type": "fieldset", + "fields": [ + { + "id": "select_upstream", + "type": "select_reference", + "reference": "nub", + "source": "upstream_stuff" + }, + { + "id": "select_downstream", + "type": "select_reference", + "reference": "nub", + "source": "downstream_stuff" + }, + "Q", + "Z1", + "Z2" + ] }, - "Q", - "Z1", - "Z2" + { + "type": "options", + "selectIds": [ ] + } + ] + }, + { + "id": "subform_wall", + "type": "subform", + "config": [ + { + "id": "fs_wall_device", + "type": "fieldset_template", + "calcType": "Structure", + "defaultStructType": "SeuilRectangulaire", + "defaultLoiDebit": "WeirSubmergedLarinier", + "fields": [ + { + "id": "select_structure", + "type": "select", + "property": "structureType", + "source": "device_structure_type" + }, + { + "id": "select_loidebit", + "type": "select", + "property": "loiDebit", + "source": "device_loi_debit", + "help": { + "Orifice_OrificeSubmerged": "structures/orifice_noye.html", + "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html", + "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html", + "SeuilTriangulaire_TriangularWeirFree": "structures/dever_triang.html", + "SeuilTriangulaire_TriangularWeirBroad": "structures/dever_triang.html", + "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html" + } + }, + "h1", + "L", + "CdWSL", + "CdWR", + "CdGR", + "CdT", + "S", + "alpha2", + "BT", + "ZT" + ] + }, + { + "id": "fs_wall_params", + "type": "fieldset", + "fields": [ + { + "id": "select_upstream", + "type": "select_reference", + "reference": "nub", + "source": "upstream_stuff" + }, + { + "id": "select_downstream", + "type": "select_reference", + "reference": "nub", + "source": "downstream_stuff" + }, + { + "id": "devices_container", + "type": "template_container", + "templates": [ + "fs_wall_device" + ] + } + ] + }, + { + "type": "options", + "selectIds": [ ] + } ] }, { diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html index d9f3b2650..9cb4f5d2f 100644 --- a/src/app/components/generic-calculator/calculator.component.html +++ b/src/app/components/generic-calculator/calculator.component.html @@ -99,7 +99,7 @@ [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'"> <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]=fe (radio)=onRadioClick($event) - (validChange)=onElementValid() (inputChange)=onInputChange($event)> + (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)"> </pb-schema> <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div> diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index b32796c5c..f98742720 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -567,6 +567,13 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe elt.select(); } + /** réception d'un événement de clic sur un nœud du schéma de PréBarrage */ + public onPBNodeSelected(event: any) { + console.log("node selected", event.node ? event.node.constructor.name : "zubi"); + this.showPBInputData = true; + // show proper form depending on what was clicked + } + public openHelp() { window.open("assets/docs/" + this.appSetupService.language + "/calculators/" + this._formulaire.helpLink, "_blank"); } @@ -822,14 +829,14 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe } const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam); - const sp = (f.currentNub as SectionParametree); - sp.section.prms.Y.setValues(Ys); - sp.section.prms.If.setValues(Ifs); - // calculate - f.doCompute(); - // go to new SP + const sp = (f.currentNub as SectionParametree); + sp.section.prms.Y.setValues(Ys); + sp.section.prms.If.setValues(Ifs); + // calculate + f.doCompute(); + // go to new SP this.router.navigate(["/calculator", f.uid]); - } + } public get generateRuSpEnabled(): boolean { return this.hasResults && ! this._formulaire.currentNub.result.hasErrorMessages(); @@ -863,10 +870,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe Session.getInstance().registerNub(secParam); const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam); - // calculate - f.doCompute(); - // go to new SP - } + // calculate + f.doCompute(); + // go to new SP + } public get generatePARSimulationEnabled(): boolean { const parCalage = (this._formulaire.currentNub as Par); @@ -978,9 +985,9 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe Session.getInstance().registerNub(parSimulation); const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation); - // calculate - f.doCompute(); - // go to new ParSimulation + // calculate + f.doCompute(); + // go to new ParSimulation this.router.navigate(["/calculator", f.uid]); } @@ -1012,6 +1019,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe const serialisedNub: string = this._formulaire.currentNub.serialise({ title: this._formulaire.calculatorName }); const nubPointer = Session.getInstance().unserialiseSingleNub(serialisedNub); const f = await this.formulaireService.createFormulaire(nubPointer.nub.calcType, nubPointer.nub, nubPointer.meta.title); - this.router.navigate(["/calculator", f.uid]); + this.router.navigate(["/calculator", f.uid]); } } diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index 1ac51ca73..f8bb9bbc0 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -39,6 +39,6 @@ <div id="schema" #schema></div> - <!-- <pre id="debug">{{ graphDef }} </pre> --> + <pre id="debug">{{ graphDef }} </pre> </mat-card-content> diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss index a398740b8..c0834e6b7 100644 --- a/src/app/components/pb-schema/pb-schema.component.scss +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -57,3 +57,7 @@ mat-card-content { margin-bottom: .5em; text-align: center; } + +#debug { + display: none; +} diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 4e2f6952f..6728c7829 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -46,9 +46,9 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { @Output() private validChange = new EventEmitter(); - /** événément de changement de valeur d'un input */ + /** événément de sélection d'un nœud du graphique Mermaid */ @Output() - private inputChange = new EventEmitter(); + private nodeSelected = new EventEmitter(); /** underlying PB */ private model: PreBarrage; @@ -255,6 +255,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { } } } + // show proper form, hide results + this.nodeSelected.emit({ + node: this._selectedItem + }); } // for debug only @@ -271,24 +275,11 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { return this._isValid; } + /** used for a cosmetics CSS trick only (mat-card-header right margin) */ public get showInputData(): boolean { return this.calculatorComponent.showPBInputData; } - /** - * Checks that input value is a valid number, according to input[type="number"] algorithm, - * and stores it in cell.uiValidity, so that the <td> element can access it and get angry - * if input is invalid - */ - public inputValueChanged($event, cell) { - if ($event && $event.target && $event.target.validity) { - cell.uiValidity = $event.target.validity.valid; - } - this.updateValidity(); - // send input change event (used to reset form results) - this.inputChange.emit(); - } - public get prefixedItemDescription(): string { let desc = this.itemDesription(this._selectedItem); if (this._selectedItem instanceof PbCloison) { @@ -420,6 +411,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { // check that at least 1 basin is present and a route from river // upstream to river downstream exists (2nd check includes 1st) this._isValid = this.model.hasUpDownConnection(); + console.log("schéma valide", this._isValid); this.validChange.emit(); } diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 5f8a226d8..dd6797765 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -24,7 +24,6 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera import { CalculatorResults } from "../../results/calculator-results"; import { ServiceFactory } from "../../services/service-factory"; import { PabTable } from "../elements/pab-table"; -import { PbSchema } from '../elements/pb-schema'; /** * classe de base pour tous les formulaires @@ -47,7 +46,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs protected _resultsHelpLinks: { [key: string]: string }; /** fichier de configuration */ - private _jsonConfig: {}; + protected _jsonConfig: {}; /** clé-valeurs du fichier de localisation spécifique à ce module */ private _specificLocalisation: StringMap; @@ -204,31 +203,25 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs public removeFieldset(fs: FieldSet) { } - private parse_fieldset(json: {}, nub?: Nub) { + protected parse_fieldset(json: {}, nub?: Nub) { const fs = this.createFieldset(this, json, undefined, nub); fs.parseConfig(json); this.afterParseFieldset(fs); } - private parse_template_container(json: {}, templates: any[]) { + protected parse_template_container(json: {}, templates: any[]) { const fsc: FieldsetContainer = new FieldsetContainer(this); fsc.parseConfig(json, templates); this.kids.push(fsc); } + // @TODO move to FormulairePAB by overloading parseConfig() private parse_pab_table(json: {}) { const tab: PabTable = new PabTable(this); tab.parseConfig(json); this.kids.push(tab); } - private parse_pb_schema(json: {}) { - const sch: PbSchema = new PbSchema(this); - sch.parseConfig(json); - this.kids.push(sch); - } - - /** * 1ère passe d'analyse de la configuration */ @@ -286,10 +279,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.parse_pab_table(conf); break; - case "pb_schema": // not generic at all - this.parse_pb_schema(conf); - break; - default: throw new Error(`type d'objet de module de calcul ${type} non pris en charge`); } diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts new file mode 100644 index 000000000..d15c13b37 --- /dev/null +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -0,0 +1,116 @@ +import { CalculatorType } from "jalhyd"; + +import { FormulaireFixedVar } from "./form-fixedvar"; +import { FormulaireParallelStructure } from "./form-parallel-structures"; +import { PbSchema } from "../elements/pb-schema"; + +/** + * Formulaire pour les PréBarrage + */ +export class FormulairePrebarrage extends FormulaireFixedVar { + + /** child form for river upstream/downstream elevations and flow */ + private riverForm: FormulaireFixedVar; + + /** child form for basins dimensions */ + private basinForm: FormulaireFixedVar; + + /** child form for walls (repeatable devices) */ + private wallForm: FormulaireParallelStructure; + + public constructor() { + super(); + console.log("Construction du FormPreBarrage !!"); + this.riverForm = new FormulaireFixedVar(); + this.riverForm.defaultProperties["calcType"] = CalculatorType.PreBarrage; + this.basinForm = new FormulaireFixedVar(); + this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin; + this.wallForm = new FormulaireParallelStructure(); + this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; + } + + protected parseOptions(json: {}) { + // super.parseOptions(json); + // @TODO parse children forms configs + } + + public parseConfig(json?: {}) { + console.log("> parse confaïgue"); + if (json !== undefined) { + this._jsonConfig = json; + } + for (const conf_index in this._jsonConfig) { + const conf = this._jsonConfig[conf_index]; + const type: string = conf["type"]; + + switch (type) { + // options globales + case "options": + break; + + case "subform": + this.parse_subform(conf); + break; + + case "pb_schema": + this.parse_pb_schema(conf); + break; + + default: + throw new Error(`type d'objet de module de calcul ${type} non pris en charge`); + } + } + this.completeParse(this._jsonConfig); + } + + private parse_subform(json: {}) { + console.log("parse sf", json); + switch (json["id"]) { + case "subform_river": + this.riverForm.currentNub = this.currentNub; + this.riverForm.parseConfig(json["config"]); + break; + case "subform_basin": + // this.basinForm.currentNub = this.currentNub; + this.basinForm.parseConfig(json["config"]); + break; + case "subform_wall": + // this.wallForm.currentNub = this.currentNub; + this.wallForm.parseConfig(json["config"]); + break; + } + // console.log(">> triggering parsing of new subform", subform.constructor.name, subform.uid); + // subform.parseConfig(json); + // this.kids.push(subform); + // f.defaultProperties["calcType"] = ct; + } + + private parse_pb_schema(json: {}) { + const sch: PbSchema = new PbSchema(this); + sch.parseConfig(json); + this.kids.push(sch); + } + + protected completeParse(json: {}, firstNotif: boolean = true) { + // super.completeParse(json); + // @TODO parse children forms configs + } + + // interface Observer + + /* public update(sender: IObservable, data: any) { + // copied from FormDefinition, to avoid calling super.update() + if (sender instanceof Nub) { + switch (data.action) { + case "resultUpdated": + // forward Nub results update notification to FormCompute objects + this.reaffectResultComponents(); + break; + } + } + // copied from FormFixedVar, to avoid calling super.update() + if (data.action === "propertyChange") { + this.reset(); + } + } */ +} diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts index e4bb9b0b9..9e3879d8a 100644 --- a/src/app/services/formulaire.service.ts +++ b/src/app/services/formulaire.service.ts @@ -40,6 +40,7 @@ import { AppComponent } from "../app.component"; import { FormulaireSPP } from "../formulaire/definition/form-spp"; import { FormulaireFixedVar } from "../formulaire/definition/form-fixedvar"; import { FormulaireSection } from "../formulaire/definition/form-section"; +import { FormulairePrebarrage } from "../formulaire/definition/form-prebarrage"; @Injectable() export class FormulaireService extends Observable { @@ -96,7 +97,7 @@ export class FormulaireService extends Observable { console.error(`trying fallback language: ${fallbackLang}`); return this.loadLocalisationForLang(calc, fallbackLang); } - } + } } /** @@ -119,9 +120,9 @@ export class FormulaireService extends Observable { return localisation as StringMap; } catch(e) { throw new Error(`LOCALISATION_FILE_NOT_FOUND "${f}"`); + } } } - } /** * Loads localisation file corresponding to current language then updates all form strings, @@ -131,8 +132,8 @@ export class FormulaireService extends Observable { const requiredLang = this._intlService.currentLanguage; if (requiredLang !== f.currentLanguage) { const localisation = await this.loadLocalisation(f.calculatorType); - f.updateLocalisation(localisation, requiredLang); - return f; + f.updateLocalisation(localisation, requiredLang); + return f; } } @@ -308,6 +309,10 @@ export class FormulaireService extends Observable { f = new FormulaireSPP(); break; + case CalculatorType.PreBarrage: + f = new FormulairePrebarrage(); + break; + default: f = new FormulaireFixedVar(); } @@ -329,92 +334,92 @@ export class FormulaireService extends Observable { this._formulaires.push(f); // Charge la configuration dépendamment du type const s: any = await this.loadConfig(ct); - f.preparseConfig(s); + f.preparseConfig(s); - // Associe le Nub fourni (chargement de session / duplication de module), sinon en crée un nouveau - if (nub) { - f.currentNub = nub; - } else { - f.initNub(); - } + // Associe le Nub fourni (chargement de session / duplication de module), sinon en crée un nouveau + if (nub) { + f.currentNub = nub; + } else { + f.initNub(); + } - // Restaure le nom du module, sinon affecte le nom par défaut - let tempName: string; - if (calculatorName) { - tempName = calculatorName; - } else { - tempName = decode(this.getLocalisedShortTitleFromCalculatorType(ct)); - } - // Suffixe le nom du module si nécessaire - f.calculatorName = this.suffixNameIfNeeded(tempName); - - f.parseConfig(); - - // add fieldsets for existing Structures if needed - // (when loading session only) - if (f.currentNub instanceof ParallelStructure) { - for (const struct of f.currentNub.structures) { - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? - e.addFromTemplate(0, undefined, struct); - } + // Restaure le nom du module, sinon affecte le nom par défaut + let tempName: string; + if (calculatorName) { + tempName = calculatorName; + } else { + tempName = decode(this.getLocalisedShortTitleFromCalculatorType(ct)); + } + // Suffixe le nom du module si nécessaire + f.calculatorName = this.suffixNameIfNeeded(tempName); + + f.parseConfig(); + + // add fieldsets for existing Structures if needed + // (when loading session only) + if (f.currentNub instanceof ParallelStructure) { + for (const struct of f.currentNub.structures) { + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? + e.addFromTemplate(0, undefined, struct); } } } + } - // add fieldsets for existing YAXN if needed - // (when loading session only) - if (f.currentNub instanceof SPP) { - for (const c of f.currentNub.getChildren()) { - for (const e of f.allFormElements) { - if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? - e.addFromTemplate(0, undefined, c); - } + // add fieldsets for existing YAXN if needed + // (when loading session only) + if (f.currentNub instanceof SPP) { + for (const c of f.currentNub.getChildren()) { + for (const e of f.allFormElements) { + if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? + e.addFromTemplate(0, undefined, c); } } } + } - // when creating a new Pab, add one wall with one device, plus the downwall - // (when loading session, those items are already present) - if ( - f instanceof FormulairePab - && f.currentNub instanceof Pab - && f.currentNub.children.length === 0 - && f.currentNub.downWall === undefined - ) { - // 1. one wall - const newWall = Session.getInstance().createNub( - new Props({ - calcType: CalculatorType.Cloisons - }) - ) as Cloisons; - // add new default device for new wall - const newDevice = Session.getInstance().createNub( - new Props({ - calcType: CalculatorType.Structure, - loiDebit: newWall.getDefaultLoiDebit() - }) - ); - newWall.addChild(newDevice); - f.pabNub.addChild(newWall); - // 2. downwall - const newDownWall = Session.getInstance().createNub( - new Props({ - calcType: CalculatorType.CloisonAval - }) - ) as CloisonAval; - // add new default device for new downwall - const newDownwallDevice = Session.getInstance().createNub( - new Props({ - calcType: CalculatorType.Structure, - loiDebit: newDownWall.getDefaultLoiDebit() - }) - ); - newDownWall.addChild(newDownwallDevice); - f.pabNub.downWall = newDownWall; - } - this.notifyObservers({ - "action": "createForm", + // when creating a new Pab, add one wall with one device, plus the downwall + // (when loading session, those items are already present) + if ( + f instanceof FormulairePab + && f.currentNub instanceof Pab + && f.currentNub.children.length === 0 + && f.currentNub.downWall === undefined + ) { + // 1. one wall + const newWall = Session.getInstance().createNub( + new Props({ + calcType: CalculatorType.Cloisons + }) + ) as Cloisons; + // add new default device for new wall + const newDevice = Session.getInstance().createNub( + new Props({ + calcType: CalculatorType.Structure, + loiDebit: newWall.getDefaultLoiDebit() + }) + ); + newWall.addChild(newDevice); + f.pabNub.addChild(newWall); + // 2. downwall + const newDownWall = Session.getInstance().createNub( + new Props({ + calcType: CalculatorType.CloisonAval + }) + ) as CloisonAval; + // add new default device for new downwall + const newDownwallDevice = Session.getInstance().createNub( + new Props({ + calcType: CalculatorType.Structure, + loiDebit: newDownWall.getDefaultLoiDebit() + }) + ); + newDownWall.addChild(newDownwallDevice); + f.pabNub.downWall = newDownWall; + } + this.notifyObservers({ + "action": "createForm", "form": f }); return f; @@ -637,47 +642,47 @@ export class FormulaireService extends Observable { */ public async calculatorInfosFromSessionFile(f: File): Promise<{ nubs: any[], formatVersion: string }> { const s = await this.readSingleFile(f); - // return value + // return value const res: { nubs: any[]; formatVersion: string; } = { - nubs: [], - formatVersion: "" - }; - const data = JSON.parse(s); - // liste des noms de modules de calcul - if (data.session && Array.isArray(data.session)) { - data.session.forEach((e: any) => { - const nubInfo = { - uid: e.uid, - title: e.meta && e.meta.title ? e.meta.title : undefined, - requires: [], - children: [], - type: e.props.calcType - }; - // list linked params dependencies for each Nub - if (e.parameters) { - e.parameters.forEach((p) => { + nubs: [], + formatVersion: "" + }; + const data = JSON.parse(s); + // liste des noms de modules de calcul + if (data.session && Array.isArray(data.session)) { + data.session.forEach((e: any) => { + const nubInfo = { + uid: e.uid, + title: e.meta && e.meta.title ? e.meta.title : undefined, + requires: [], + children: [], + type: e.props.calcType + }; + // list linked params dependencies for each Nub + if (e.parameters) { + e.parameters.forEach((p) => { if (p.targetNub && !nubInfo.requires.includes(p.targetNub)) { - nubInfo.requires.push(p.targetNub); - } - }); - } - // list children nubs for each Nub - if (e.children) { - e.children.forEach((p) => { - nubInfo.children.push(p.uid); - }); - } - res.nubs.push(nubInfo); - }); - } - // version du format de fichier - if (data.header && data.header.format_version) { - res.formatVersion = data.header.format_version; - } - return res; + nubInfo.requires.push(p.targetNub); + } + }); + } + // list children nubs for each Nub + if (e.children) { + e.children.forEach((p) => { + nubInfo.children.push(p.uid); + }); + } + res.nubs.push(nubInfo); + }); + } + // version du format de fichier + if (data.header && data.header.format_version) { + res.formatVersion = data.header.format_version; + } + return res; } public saveForm(f: FormulaireDefinition) { -- GitLab From 726cc6aa55b42e432a41fec660fd9278b42317fd Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 9 Jun 2020 11:07:27 +0200 Subject: [PATCH 057/117] Updated dependencies --- package-lock.json | 8479 +++++++++++++++++++++++---------------------- package.json | 82 +- 2 files changed, 4472 insertions(+), 4089 deletions(-) diff --git a/package-lock.json b/package-lock.json index 315d1c889..66fb309ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,171 +11,129 @@ "dev": true }, "@angular-devkit/architect": { - "version": "0.900.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.7.tgz", - "integrity": "sha512-hfiTVYc72kzbXrzK4tea6jnTDnSKpE1D+vEptBXN2tdXEVNEAQI5Qm5L1zVDtt16UdqoUTUypIgUc9jcNH1mUQ==", + "version": "0.901.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz", + "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.7", - "rxjs": "6.5.3" + "@angular-devkit/core": "9.1.7", + "rxjs": "6.5.4" }, "dependencies": { "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, "@angular-devkit/build-angular": { - "version": "0.900.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.900.7.tgz", - "integrity": "sha512-Yv2y3OEaYEd0fE0pKvtqBpmkQYs9xJws7thHnJYCwIfYO55RfolYsXkJgAXke/4NPLrD3EsIDqoPxF7l+uw2/Q==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.900.7", - "@angular-devkit/build-optimizer": "0.900.7", - "@angular-devkit/build-webpack": "0.900.7", - "@angular-devkit/core": "9.0.7", - "@babel/core": "7.7.7", - "@babel/generator": "7.7.7", - "@babel/preset-env": "7.7.7", - "@ngtools/webpack": "9.0.7", - "ajv": "6.10.2", - "autoprefixer": "9.7.1", + "version": "0.901.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.7.tgz", + "integrity": "sha512-NiBwapx/XJqYGzSmENff78i6Yif9PjYDJ9BB+59t2eDofkCZUcPFrhQmRgliO7rt6RATvT81lDP89+LBXCTQPw==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.901.7", + "@angular-devkit/build-optimizer": "0.901.7", + "@angular-devkit/build-webpack": "0.901.7", + "@angular-devkit/core": "9.1.7", + "@babel/core": "7.9.0", + "@babel/generator": "7.9.3", + "@babel/preset-env": "7.9.0", + "@babel/template": "7.8.6", + "@jsdevtools/coverage-istanbul-loader": "3.0.3", + "@ngtools/webpack": "9.1.7", + "ajv": "6.12.0", + "autoprefixer": "9.7.4", "babel-loader": "8.0.6", "browserslist": "^4.9.1", - "cacache": "13.0.1", + "cacache": "15.0.0", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.0", "copy-webpack-plugin": "5.1.1", "core-js": "3.6.4", - "coverage-istanbul-loader": "2.0.3", + "css-loader": "3.5.1", "cssnano": "4.1.10", - "file-loader": "4.2.0", - "find-cache-dir": "3.0.0", - "glob": "7.1.5", - "jest-worker": "24.9.0", + "file-loader": "6.0.0", + "find-cache-dir": "3.3.1", + "glob": "7.1.6", + "jest-worker": "25.1.0", "karma-source-map-support": "1.4.0", - "less": "3.10.3", + "less": "3.11.1", "less-loader": "5.0.0", - "license-webpack-plugin": "2.1.3", - "loader-utils": "1.2.3", - "magic-string": "0.25.4", - "mini-css-extract-plugin": "0.8.0", + "license-webpack-plugin": "2.1.4", + "loader-utils": "2.0.0", + "mini-css-extract-plugin": "0.9.0", "minimatch": "3.0.4", - "open": "7.0.0", + "open": "7.0.3", "parse5": "4.0.0", - "postcss": "7.0.21", + "postcss": "7.0.27", "postcss-import": "12.0.1", "postcss-loader": "3.0.0", - "raw-loader": "3.1.0", - "regenerator-runtime": "0.13.3", - "rimraf": "3.0.0", - "rollup": "1.25.2", - "rxjs": "6.5.3", - "sass": "1.23.3", - "sass-loader": "8.0.0", - "semver": "6.3.0", + "raw-loader": "4.0.0", + "regenerator-runtime": "0.13.5", + "rimraf": "3.0.2", + "rollup": "2.1.0", + "rxjs": "6.5.4", + "sass": "1.26.3", + "sass-loader": "8.0.2", + "semver": "7.1.3", "source-map": "0.7.3", "source-map-loader": "0.2.4", - "source-map-support": "0.5.16", "speed-measure-webpack-plugin": "1.3.1", - "style-loader": "1.0.0", + "style-loader": "1.1.3", "stylus": "0.54.7", "stylus-loader": "3.0.2", - "terser": "4.5.1", - "terser-webpack-plugin": "2.3.3", + "terser": "4.6.10", + "terser-webpack-plugin": "2.3.5", "tree-kill": "1.2.2", - "webpack": "4.41.2", + "webpack": "4.42.0", "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.9.0", + "webpack-dev-server": "3.11.0", "webpack-merge": "4.2.2", "webpack-sources": "1.4.3", - "webpack-subresource-integrity": "1.3.4", - "worker-plugin": "3.2.0" + "webpack-subresource-integrity": "1.4.0", + "worker-plugin": "4.0.3" }, "dependencies": { - "@babel/generator": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", - "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } + "core-js": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", + "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", + "dev": true }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -186,70 +144,40 @@ "path-is-absolute": "^1.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", "dev": true }, "rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } }, "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "terser": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.5.1.tgz", - "integrity": "sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==", + "version": "4.6.10", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz", + "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==", "dev": true, "requires": { "commander": "^2.20.0", @@ -265,180 +193,217 @@ } } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "dev": true - }, - "webpack-dev-server": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz", - "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.4", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } } } }, "@angular-devkit/build-optimizer": { - "version": "0.900.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.7.tgz", - "integrity": "sha512-gxin2oPNMN+PYo82At2JP1Q+uxnvwyDFWA1Wl+Ufuc5zHGhjKqxdQjkdMF7OT0ihtmkllN+t/NTB7rcx/Sx9Wg==", + "version": "0.901.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.7.tgz", + "integrity": "sha512-Xuce3StdxhcgLYb0BAaFGr3Bzj5EM2OsAqIT15PkikWY1k5cK50vPxoC/BkX4QDL9eXSHtqAfMBfA6h5N422vw==", "dev": true, "requires": { - "loader-utils": "1.2.3", + "loader-utils": "2.0.0", "source-map": "0.7.3", - "tslib": "1.10.0", - "typescript": "3.6.4", + "tslib": "1.11.1", + "typescript": "3.6.5", "webpack-sources": "1.4.3" }, "dependencies": { "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", "dev": true }, "typescript": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", - "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz", + "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==", "dev": true } } }, "@angular-devkit/build-webpack": { - "version": "0.900.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.7.tgz", - "integrity": "sha512-Nwwqjo1ZpHFLavN+nXOmuBgGjhoMBZGelDCvHtiQlQ9N6i7k9cKnP7eU5pY7jbalBguS+gWg5wJIGnbqk1K9Rg==", + "version": "0.901.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.7.tgz", + "integrity": "sha512-pTLW5Eqy9cHgv78LKiH0e30lxqKzUPjh1djvNtFsEemOHsfKQdAfjLjikoaQvqMoBKVaUU7r2vmyyS17cH+1yw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.7", - "@angular-devkit/core": "9.0.7", - "rxjs": "6.5.3" + "@angular-devkit/architect": "0.901.7", + "@angular-devkit/core": "9.1.7", + "rxjs": "6.5.4" }, "dependencies": { "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, "@angular-devkit/core": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.7.tgz", - "integrity": "sha512-tMrz36sM1xrwvFf9Qm59GwALscVlMP7rQBjtd0fIR/QbsiOAIX4AQbV+vN6Vtwnzo5NIRZY1IXJUhesWms+h5w==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", + "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", "dev": true, "requires": { - "ajv": "6.10.2", - "fast-json-stable-stringify": "2.0.0", - "magic-string": "0.25.4", - "rxjs": "6.5.3", + "ajv": "6.12.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.5.4", "source-map": "0.7.3" }, "dependencies": { "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, "@angular-devkit/schematics": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.7.tgz", - "integrity": "sha512-ryPC+l24f3gX5DFMTLkDM/q2Kp6LPzBn6400k7j4qVdb1cIrZx+JUQd7F4iAksTTkX15EQPanptQXeztUrl9Ng==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.7.tgz", + "integrity": "sha512-oeHPJePBcPp/bd94jHQeFUnft93PGF5iJiKV9szxqS8WWC5OMZ5eK7icRY0PwvLyfenspAZxdZcNaqJqPMul5A==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.7", - "ora": "4.0.2", - "rxjs": "6.5.3" + "@angular-devkit/core": "9.1.7", + "ora": "4.0.3", + "rxjs": "6.5.4" }, "dependencies": { + "@angular-devkit/core": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", + "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", + "dev": true, + "requires": { + "ajv": "6.12.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.5.4", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } } } }, "@angular/animations": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.7.tgz", - "integrity": "sha512-74gY7onajmmnksy5E0/32bFv3B9NuWxV64kqD15YjGrh8AWe1BHt5enQI+rJ2tO8m2DKnwZsctis6k0Kcy+YKQ==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.9.tgz", + "integrity": "sha512-qWVi0TxmU6HeXAgEsfpQvFFygh+a0kH2kGe6bWij4XvG6dWfV3xZjlaFwSIYGk+yK4yL0+9+PAXH+ENfxNw+Cw==" }, "@angular/cdk": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.3.tgz", - "integrity": "sha512-K6XJzfqP+PE0ahyBUYrnoW+3ocwDpPN3dE9a+XRtZ0vM4P/FElweWj5zjNwWktb+uF9yal6oMPWXJNOAfonpPw==", + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz", + "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==", "requires": { "parse5": "^5.0.0" }, @@ -452,33 +417,106 @@ } }, "@angular/cli": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.7.tgz", - "integrity": "sha512-/9CUNSSVyTtTNUADZ/VXJDEdhineMN/rfd35w6VsHiob49tKkeOTggaoiSne3RY4VCTqlo7GGf4KhhVXEMGnDQ==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.7.tgz", + "integrity": "sha512-NhsIa725S/U/n7nDxp6ForusdYHEXF4aSIvsFRdoK6vbQ889c5e1Rdj+T5EWXLmpQZxeprSKhLI2alNX0nVhhQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.900.7", - "@angular-devkit/core": "9.0.7", - "@angular-devkit/schematics": "9.0.7", - "@schematics/angular": "9.0.7", - "@schematics/update": "0.900.7", + "@angular-devkit/architect": "0.901.7", + "@angular-devkit/core": "9.1.7", + "@angular-devkit/schematics": "9.1.7", + "@schematics/angular": "9.1.7", + "@schematics/update": "0.901.7", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", - "debug": "^4.1.1", + "debug": "4.1.1", "ini": "1.3.5", - "inquirer": "7.0.0", - "npm-package-arg": "6.1.1", - "npm-pick-manifest": "3.0.2", - "open": "7.0.0", - "pacote": "9.5.8", + "inquirer": "7.1.0", + "npm-package-arg": "8.0.1", + "npm-pick-manifest": "6.0.0", + "open": "7.0.3", + "pacote": "9.5.12", "read-package-tree": "5.3.1", - "rimraf": "3.0.0", - "semver": "6.3.0", + "rimraf": "3.0.2", + "semver": "7.1.3", "symbol-observable": "1.2.0", - "universal-analytics": "^0.4.20", - "uuid": "^3.3.2" + "universal-analytics": "0.4.20", + "uuid": "7.0.2" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.901.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz", + "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==", + "dev": true, + "requires": { + "@angular-devkit/core": "9.1.7", + "rxjs": "6.5.4" + }, + "dependencies": { + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } + } + } + } + }, + "@angular-devkit/core": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", + "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", + "dev": true, + "requires": { + "ajv": "6.12.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.5.4", + "source-map": "0.7.3" + }, + "dependencies": { + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } + } + } + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -497,19 +535,19 @@ } }, "@angular/common": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.7.tgz", - "integrity": "sha512-B58YgxZva1DBaeayOBsaUOOkoyR+GRibuNC3gfOMm2vXeW9eCNX+jvDtw767GnKm2yGzIq8wB3x6GHojN00dPw==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.9.tgz", + "integrity": "sha512-y/tJtkuOJhV2kcaXZyrLZH84i4uQ1r+vaaEHvXj+JZYfYfcMMd/TDqMiPcIkUb3RxqghtZ+q0ZNW5D1Nlru3Pw==" }, "@angular/compiler": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.7.tgz", - "integrity": "sha512-hFpkuGpzxpK5h59LHHAjTFWsY6DCXZwgJFqvCuTPxWi/srvLGZRXrpC6Z1SlgHI9xxXaPfoa4uWw2VfA3BnqEg==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.9.tgz", + "integrity": "sha512-kjFgaTB2ckr9lgmkS1dOGRT7kmzpQueydxsxXSHWgICNVE6F/u1PHyeSOyJRpxW0GnrkLq3QM2EUFnQGGga5bg==" }, "@angular/compiler-cli": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.7.tgz", - "integrity": "sha512-+RXghex63v0Vi8vpQtDpWiqpAAnrTaN3bHT5fntRenq5+Ok5vL1MJ1mzbTmBXs2tuwTqNlwMm2AlZB7G/xcDMQ==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.9.tgz", + "integrity": "sha512-aLr2eaDlREN8XybgTbelvjtSZ8eAkxBPilnkddc700BgiC6ImyUSKaItOwa8bnjQwq4Wlz5eVG0ibsrX+5MXwg==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -523,69 +561,53 @@ "semver": "^6.3.0", "source-map": "^0.6.1", "sourcemap-codec": "^1.4.8", - "yargs": "13.1.0" + "yargs": "15.3.0" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", - "dev": true, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" + "color-name": "~1.1.4" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "fs-extra": { @@ -599,73 +621,48 @@ "universalify": "^0.1.0" } }, - "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "dev": true, - "optional": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "p-locate": "^4.1.0" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "picomatch": "^2.0.7" + "p-limit": "^2.2.0" } }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -685,57 +682,59 @@ "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "is-number": "^7.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "yargs": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz", - "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", + "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", "dev": true, "requires": { - "cliui": "^4.0.0", - "find-up": "^3.0.0", + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^3.0.0", + "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" + "yargs-parser": "^18.1.0" } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -745,45 +744,45 @@ } }, "@angular/core": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.7.tgz", - "integrity": "sha512-E9XZH5Dl+9MWG3MDC6wrKllhA8Rljpz66HOIeqKv2fHPed8kzuJZU3WJWLtbhDAXFwtGTyTZ4c82ZLSmqwTorg==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.9.tgz", + "integrity": "sha512-q/DERgVU6vK2LtTcdVCGGBcoO424WsEfImh3Vcuy+P/ZVmthlDUC/+q+tSKt8MMf4hLpxFDQJE8vUSkktj7QEw==" }, "@angular/flex-layout": { - "version": "9.0.0-beta.29", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.29.tgz", - "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA==" + "version": "9.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz", + "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA==" }, "@angular/forms": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.7.tgz", - "integrity": "sha512-PaHAmjMJDtg/3aGCPuq5BCRC1eZ/DBCpva9f7NrA1kqk0LcLdebm0v2uHwTOBtiz/VEgPvxiS4tXC4rjvUtfEg==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.9.tgz", + "integrity": "sha512-r675yImnb/0pY7K5W3V2ITa7YETu1I2AS+bRfII6UQ6gthyeFFOHb5noa7YneC2yqQiM6E4DQmF5ig3daPuFNg==" }, "@angular/language-service": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.7.tgz", - "integrity": "sha512-IZG1kvw48JyFRy7bfMHqBixWrEHZmXmkP5DWsi5Tw6KusaczkMghI20BevCkodPcajXWHAUHNKyp1tlE3OnH0w==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.9.tgz", + "integrity": "sha512-yT6HPpdAe2mD9HRoTCiWFog1MRJt+0j+CLbI/Ql7C6pH6vbjmfsJ55xMmQ7eS6trsnebpMWTUv1f2GRykv3ygw==", "dev": true }, "@angular/material": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.3.tgz", - "integrity": "sha512-tRdd5+z9XwsbN+4WCuH3goyEjqw1Q6vKeURCdas8bh5AVOrCt8pcFlj3yA3P/u4fdhfTeFc67PJRz8Zm0n3moQ==" + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz", + "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA==" }, "@angular/platform-browser": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.7.tgz", - "integrity": "sha512-Por8omrEiSV2U/K2mm/Kuv+2R2rJkbAZ3ctEM6CWj9Y4Gz2akjOCxmEgWhhBeqdigcC3T1v707f52osf9jWBkg==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.9.tgz", + "integrity": "sha512-V861X3MxJp1AlMTnkUPldpBLIJbApXF3ka0A5Dq2nVJCyOFeteGkaRWSBgqe2jxmq+LVpJbzcNvtDFXw6mQ0jA==" }, "@angular/platform-browser-dynamic": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.7.tgz", - "integrity": "sha512-jwpyd93ofcRtchbayKD5v4GN4Lc7vbPe6dMUiwfnVnVAql0bOD/3YRI7w5qJ0Xx0sgQT+9Xo6jTXYnyUsZpEww==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.9.tgz", + "integrity": "sha512-b9MG5MWne+IuL3uLm8jwPhlJzqYaGBGk/qibOqb17T24j1iyrlO7T5bZ8zO6pUy5iT/TahVfHPnPJC1qTK5OmA==" }, "@angular/router": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.7.tgz", - "integrity": "sha512-uKru9F/Zju//gg6INl54abnlpLdEUUO/GpCfMk4zqu8LCZGNFta6OY7VT+9DK9Vdrh/XUD70oE9WoelcRwwTYA==" + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.9.tgz", + "integrity": "sha512-4u+CWMPB4hCkAsFCEzC94YEWT0wVozqGkc/Dortt2hFaqvZpIegg6iJVZlDxuyDjzFYBPnnbTDdgiTTA8ckfuA==" }, "@babel/code-frame": { "version": "7.5.5", @@ -794,147 +793,61 @@ "@babel/highlight": "^7.0.0" } }, + "@babel/compat-data": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", + "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + } + }, "@babel/core": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz", - "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.7", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.7", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", + "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helpers": "^7.9.0", + "@babel/parser": "^7.9.0", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "json5": "^2.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - } - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - } - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -953,21 +866,6 @@ "ms": "^2.1.1" } }, - "json5": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", - "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -983,16 +881,15 @@ } }, "@babel/generator": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", - "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "version": "7.9.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz", + "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==", "dev": true, "requires": { - "@babel/types": "^7.5.5", + "@babel/types": "^7.9.0", "jsesc": "^2.5.1", "lodash": "^4.17.13", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "source-map": "^0.5.0" }, "dependencies": { "jsesc": { @@ -1029,1285 +926,423 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", + "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.10.1" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", + "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-explode-assignable-expression": "^7.10.1", + "@babel/types": "^7.10.1" } }, - "@babel/helper-call-delegate": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", - "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", + "@babel/helper-compilation-targets": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", + "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.7" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@babel/compat-data": "^7.10.1", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", + "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-regex": "^7.10.1", "regexpu-core": "^4.7.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } } }, "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", + "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", + "@babel/helper-function-name": "^7.10.1", + "@babel/types": "^7.10.1", "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", + "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", "dev": true, "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.10.1" } }, "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", + "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.10.1" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", "dev": true, "requires": { - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.10.1" } }, "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.10.1" } }, "@babel/helper-module-transforms": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", - "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.8.6", + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", "lodash": "^4.17.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" } } } }, "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "@babel/helper-plugin-utils": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", + "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", + "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-wrap-function": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" } } } }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "@babel/helper-replace-supers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" } }, - "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "@babel/helper-simple-access": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + } + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", + "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "@babel/highlight": "^7.10.1" } }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "ms": "^2.1.1" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", + "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "ms": "^2.1.1" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, @@ -2331,70 +1366,101 @@ } }, "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", + "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", + "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.1", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", + "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.1", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", + "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", + "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-numeric-separator": "^7.10.1" + } + }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", + "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.1" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", + "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.1", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", + "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", + "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-syntax-async-generators": { @@ -2424,364 +1490,242 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", + "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "@babel/plugin-syntax-top-level-await": { + "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-transform-arrow-functions": { + "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-transform-async-to-generator": { + "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", + "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", + "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.1" } - }, - "@babel/plugin-transform-classes": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", - "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", + "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", + "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", + "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", + "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-define-map": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", + "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-destructuring": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", - "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", + "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", + "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", + "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", + "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-for-of": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz", - "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", + "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", + "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", + "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", + "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", - "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", + "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", - "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", + "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", - "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", + "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-hoist-variables": "^7.10.1", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", - "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", + "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-named-capturing-groups-regex": { @@ -2794,126 +1738,103 @@ } }, "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", + "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", + "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz", - "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", + "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.8.7", - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", + "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", + "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", + "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", + "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", + "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", + "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-regex": "^7.10.1" } }, "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", + "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", + "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.8.3", @@ -2921,91 +1842,101 @@ } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", + "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/preset-env": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz", - "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", + "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.7.4", - "@babel/plugin-proposal-dynamic-import": "^7.7.4", - "@babel/plugin-proposal-json-strings": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.7.7", - "@babel/plugin-syntax-async-generators": "^7.7.4", - "@babel/plugin-syntax-dynamic-import": "^7.7.4", - "@babel/plugin-syntax-json-strings": "^7.7.4", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", - "@babel/plugin-syntax-top-level-await": "^7.7.4", - "@babel/plugin-transform-arrow-functions": "^7.7.4", - "@babel/plugin-transform-async-to-generator": "^7.7.4", - "@babel/plugin-transform-block-scoped-functions": "^7.7.4", - "@babel/plugin-transform-block-scoping": "^7.7.4", - "@babel/plugin-transform-classes": "^7.7.4", - "@babel/plugin-transform-computed-properties": "^7.7.4", - "@babel/plugin-transform-destructuring": "^7.7.4", - "@babel/plugin-transform-dotall-regex": "^7.7.7", - "@babel/plugin-transform-duplicate-keys": "^7.7.4", - "@babel/plugin-transform-exponentiation-operator": "^7.7.4", - "@babel/plugin-transform-for-of": "^7.7.4", - "@babel/plugin-transform-function-name": "^7.7.4", - "@babel/plugin-transform-literals": "^7.7.4", - "@babel/plugin-transform-member-expression-literals": "^7.7.4", - "@babel/plugin-transform-modules-amd": "^7.7.5", - "@babel/plugin-transform-modules-commonjs": "^7.7.5", - "@babel/plugin-transform-modules-systemjs": "^7.7.4", - "@babel/plugin-transform-modules-umd": "^7.7.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", - "@babel/plugin-transform-new-target": "^7.7.4", - "@babel/plugin-transform-object-super": "^7.7.4", - "@babel/plugin-transform-parameters": "^7.7.7", - "@babel/plugin-transform-property-literals": "^7.7.4", - "@babel/plugin-transform-regenerator": "^7.7.5", - "@babel/plugin-transform-reserved-words": "^7.7.4", - "@babel/plugin-transform-shorthand-properties": "^7.7.4", - "@babel/plugin-transform-spread": "^7.7.4", - "@babel/plugin-transform-sticky-regex": "^7.7.4", - "@babel/plugin-transform-template-literals": "^7.7.4", - "@babel/plugin-transform-typeof-symbol": "^7.7.4", - "@babel/plugin-transform-unicode-regex": "^7.7.4", - "@babel/types": "^7.7.4", - "browserslist": "^4.6.0", - "core-js-compat": "^3.6.0", + "@babel/compat-data": "^7.9.0", + "@babel/helper-compilation-targets": "^7.8.7", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-numeric-separator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.9.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.9.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.9.0", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.9.0", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.9.0", + "@babel/plugin-transform-modules-commonjs": "^7.9.0", + "@babel/plugin-transform-modules-systemjs": "^7.9.0", + "@babel/plugin-transform-modules-umd": "^7.9.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.8.7", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.7", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.9.0", + "browserslist": "^4.9.1", + "core-js-compat": "^3.6.2", "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", + "levenary": "^1.1.1", "semver": "^5.5.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" } }, "@babel/runtime": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "dev": true, "requires": { "regenerator-runtime": "^0.13.2" }, @@ -3013,45 +1944,91 @@ "regenerator-runtime": { "version": "0.13.3", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true } } }, "@babel/template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + } } }, "@babel/traverse": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", - "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.5.5", - "@babel/types": "^7.5.5", + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, "debug": { @@ -3063,37 +2040,29 @@ "ms": "^2.1.1" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", "dev": true, "requires": { - "esutils": "^2.0.2", + "@babel/helper-validator-identifier": "^7.10.1", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } } }, "@braintree/sanitize-url": { @@ -3202,6 +2171,17 @@ "to-regex-range": "^5.0.1" } }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fsevents": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", @@ -3232,6 +2212,12 @@ "is-glob": "^4.0.1" } }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -3375,13 +2361,33 @@ } }, "@develar/schema-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.1.0.tgz", - "integrity": "sha512-qjCqB4ctMig9Gz5bd6lkdFr3bO6arOdQqptdBSpF1ZpCnjofieCciEzkoS9ujY9cMGyllYSCSmBJ3x9OKHXzoA==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + } } }, "@dsherret/to-absolute-glob": { @@ -3395,9 +2401,9 @@ } }, "@electron/get": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.9.0.tgz", - "integrity": "sha512-OBIKtF6ttIJotDXe4KJMUyTBO4xMii+mFjlA8R4CORuD4HvCUaCK3lPjhdTRCvuEv6gzWNbAvd9DNBv0v780lw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", + "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -3417,29 +2423,140 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "^2.1.1" + } + }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jsdevtools/coverage-istanbul-loader": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz", + "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==", + "dev": true, + "requires": { + "convert-source-map": "^1.7.0", + "istanbul-lib-instrument": "^4.0.1", + "loader-utils": "^1.4.0", + "merge-source-map": "^1.1.0", + "schema-utils": "^2.6.4" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true - }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -3451,25 +2568,31 @@ } }, "@ngtools/webpack": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.0.7.tgz", - "integrity": "sha512-MvoMaErkjESefoIrbt8F2RpKDr9KavwvH4v3hwSAKooVNFdFKNsjJ7m3gCQehumEfsYFq2mrEK2sTW4/CpFlMQ==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.7.tgz", + "integrity": "sha512-A7VB2I42Kn+7jl0tDKzGNLAoZLWSqkKo9Hg1bmKpvAAIz+DSbq3uV+JWgGgTprM3tn0lfkVgmqk4H17HKwAOcg==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.7", + "@angular-devkit/core": "9.1.7", "enhanced-resolve": "4.1.1", - "rxjs": "6.5.3", + "rxjs": "6.5.4", "webpack-sources": "1.4.3" }, "dependencies": { "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, @@ -3480,32 +2603,136 @@ "dev": true }, "@schematics/angular": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.7.tgz", - "integrity": "sha512-3UCeexYx/YVo3kboyPZ8KgqBTduMA18AAm3s2yrC0qj41fBFVVZAZLa74uouTf4RYVgy9kR7J3uv6VLxrJPOnQ==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.7.tgz", + "integrity": "sha512-ld3WcoMWvup04V3OWioQ+AFGQBzz7IDM4Fxc5+Qc3wILWkDJnNkrc4EmJAow96Ab4/T1+Wl1vof3tV4At0BTzA==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.7", - "@angular-devkit/schematics": "9.0.7" + "@angular-devkit/core": "9.1.7", + "@angular-devkit/schematics": "9.1.7" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", + "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", + "dev": true, + "requires": { + "ajv": "6.12.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.5.4", + "source-map": "0.7.3" + }, + "dependencies": { + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } + } + } + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + } } }, "@schematics/update": { - "version": "0.900.7", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.900.7.tgz", - "integrity": "sha512-e9tX2DGNYfj/k9mVICpQt2bWIYyD92dlsip7LzPeZGt+R9zCp5w19uBLa8Z00OgEGzFR1krhRvkQE5OxkkAnVw==", + "version": "0.901.7", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.7.tgz", + "integrity": "sha512-6IpQVFvbu47CrXfqqHAzv2vi7AOdfi1S+SiayXU6FWTeA2wV47H8R60VjxurL8JkDGoVhFgC4+lK6KG++g3dQw==", "dev": true, "requires": { - "@angular-devkit/core": "9.0.7", - "@angular-devkit/schematics": "9.0.7", + "@angular-devkit/core": "9.1.7", + "@angular-devkit/schematics": "9.1.7", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", - "npm-package-arg": "^7.0.0", - "pacote": "9.5.8", - "rxjs": "6.5.3", - "semver": "6.3.0", + "npm-package-arg": "^8.0.0", + "pacote": "9.5.12", + "rxjs": "6.5.4", + "semver": "7.1.3", "semver-intersect": "1.4.0" }, "dependencies": { + "@angular-devkit/core": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", + "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", + "dev": true, + "requires": { + "ajv": "6.12.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.5.4", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, "hosted-git-info": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", @@ -3524,39 +2751,47 @@ "yallist": "^3.0.2" } }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, "npm-package-arg": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", - "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", + "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", "dev": true, "requires": { "hosted-git-info": "^3.0.2", - "osenv": "^0.1.5", - "semver": "^5.6.0", + "semver": "^7.0.0", "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } } }, "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true }, "yallist": { @@ -3594,12 +2829,6 @@ "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", "dev": true }, - "@types/estree": { - "version": "0.0.43", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.43.tgz", - "integrity": "sha512-WfOySUnBpyKXbkC9QuZguwOGhGnugDXT2f2P6X8EIis7qlnd5NI1Nr4kRi357NtguxezyizIcaFlQe0wx23XnA==", - "dev": true - }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -3613,9 +2842,9 @@ "dev": true }, "@types/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==", "dev": true, "requires": { "@types/node": "*" @@ -3633,9 +2862,9 @@ } }, "@types/jasmine": { - "version": "3.5.9", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.9.tgz", - "integrity": "sha512-KNL2Fq6GRmty2j6+ZmueT/Z/dkctLNH+5DFoGHNDtcgt7yME9NZd8x2p81Yuea1Xux/qAryDd3zVLUoKpDz1TA==", + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz", + "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==", "dev": true }, "@types/jasminewd2": { @@ -3647,10 +2876,16 @@ "@types/jasmine": "*" } }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "dev": true + }, "@types/marked": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.2.tgz", - "integrity": "sha512-A3EDyNaq6OCcpaOia2HQ/tu2QYt8DKuj4ExP21VU3cU3HTo2FLslvbqa2T1vux910RHvuSVqpwKnnykSFcRWOA==" + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.4.tgz", + "integrity": "sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw==" }, "@types/minimatch": { "version": "3.0.3", @@ -3664,9 +2899,9 @@ "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew==" }, "@types/node": { - "version": "13.9.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz", - "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==", + "version": "14.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.12.tgz", + "integrity": "sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==", "dev": true }, "@types/pako": { @@ -3681,9 +2916,9 @@ "dev": true }, "@types/selenium-webdriver": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz", - "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==", + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", + "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", "dev": true }, "@types/source-list-map": { @@ -3698,9 +2933,9 @@ "integrity": "sha512-hkgzYF+qnIl8uTO8rmUSVSfQ8BIfMXC4yJAF4n8BE758YsKBZvFC4NumnAegj7KmylP0liEZNpb9RRGFMbFejA==" }, "@types/webpack-sources": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.6.tgz", - "integrity": "sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz", + "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==", "dev": true, "requires": { "@types/node": "*", @@ -3717,9 +2952,9 @@ } }, "@types/yargs": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", - "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -3951,9 +3186,9 @@ } }, "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, "acorn-node": { @@ -3991,9 +3226,9 @@ } }, "adm-zip": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", - "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.14.tgz", + "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g==", "dev": true }, "after": { @@ -4231,50 +3466,74 @@ "dev": true }, "app-builder-bin": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.5.tgz", - "integrity": "sha512-ZcHzJ9Xl+azPqdKzXZKdRZmkNmbxHHZyl4cbobNf8qMQpoPChpcov8riVrZSbu/0cT/JqJ8LOwJjy1OAwbChaQ==", + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.9.tgz", + "integrity": "sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg==", "dev": true }, "app-builder-lib": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.4.1.tgz", - "integrity": "sha512-epwUzIM+2pcdy/If9koTP74CKx4v7xGPj75a2Z5cM4rrGN9yVZ3eDUBbfF0e0qE4Qmcv5pd0BAZJ26bGm8NWsQ==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.7.0.tgz", + "integrity": "sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g==", "dev": true, "requires": { "7zip-bin": "~5.0.3", - "@develar/schema-utils": "~2.1.0", + "@develar/schema-utils": "~2.6.5", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "22.4.1", - "builder-util-runtime": "8.6.2", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", "chromium-pickle-js": "^0.2.0", - "debug": "^4.1.1", - "ejs": "^3.0.1", - "electron-publish": "22.4.1", - "fs-extra": "^8.1.0", + "debug": "^4.2.0", + "ejs": "^3.1.3", + "electron-publish": "22.7.0", + "fs-extra": "^9.0.0", "hosted-git-info": "^3.0.4", "is-ci": "^2.0.0", - "isbinaryfile": "^4.0.4", - "js-yaml": "^3.13.1", + "isbinaryfile": "^4.0.6", + "js-yaml": "^3.14.0", "lazy-val": "^1.0.4", "minimatch": "^3.0.4", "normalize-package-data": "^2.5.0", - "read-config-file": "5.0.2", + "read-config-file": "6.0.0", "sanitize-filename": "^1.6.3", - "semver": "^7.1.3", + "semver": "^7.3.2", "temp-file": "^3.3.7" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "hosted-git-info": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", @@ -4284,6 +3543,26 @@ "lru-cache": "^5.1.1" } }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -4300,9 +3579,15 @@ "dev": true }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true }, "yallist": { @@ -4319,15 +3604,6 @@ "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", "dev": true }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -4463,6 +3739,14 @@ "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "assert": { @@ -4602,6 +3886,12 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -4609,17 +3899,17 @@ "dev": true }, "autoprefixer": { - "version": "9.7.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.1.tgz", - "integrity": "sha512-w3b5y1PXWlhYulevrTJ0lizkQ5CyqfeU6BIRDbuhsMupstHQOeb1Ur80tcB1zxSu7AwyY/qCQ7Vvqklh31ZBFw==", + "version": "9.7.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", + "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", "dev": true, "requires": { - "browserslist": "^4.7.2", - "caniuse-lite": "^1.0.30001006", + "browserslist": "^4.8.3", + "caniuse-lite": "^1.0.30001020", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.21", + "postcss": "^7.0.26", "postcss-value-parser": "^4.0.2" } }, @@ -4667,6 +3957,26 @@ "pkg-dir": "^3.0.0" } }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -4677,6 +3987,12 @@ "semver": "^5.6.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -4692,9 +4008,9 @@ } }, "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" @@ -4796,9 +4112,9 @@ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true }, "basic-auth": { @@ -4896,9 +4212,9 @@ } }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", "dev": true }, "body-parser": { @@ -5083,6 +4399,12 @@ "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", "dev": true }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, "widest-line": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", @@ -5240,21 +4562,56 @@ "requires": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "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 + } } }, "browserify-zlib": { @@ -5267,32 +4624,21 @@ } }, "browserslist": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", - "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001035", - "electron-to-chromium": "^1.3.378", - "node-releases": "^1.1.52", - "pkg-up": "^3.1.0" - }, - "dependencies": { - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" } }, "browserstack": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.3.tgz", - "integrity": "sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", + "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", "dev": true, "requires": { "https-proxy-agent": "^2.2.1" @@ -5309,20 +4655,10 @@ "isarray": "^1.0.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, "buffer-equal": { @@ -5331,12 +4667,6 @@ "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", "dev": true }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -5355,23 +4685,23 @@ "dev": true }, "builder-util": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.4.1.tgz", - "integrity": "sha512-+ysLc7cC4w6P7rBxmZ5X2aU3QvcwFoWCl1us+mcUKdsGmJAtFUMPJqueeptdxjyPrPShIUOKHzA8uk5A3d1fHg==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.7.0.tgz", + "integrity": "sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg==", "dev": true, "requires": { "7zip-bin": "~5.0.3", "@types/debug": "^4.1.5", - "@types/fs-extra": "^8.1.0", - "app-builder-bin": "3.5.5", + "@types/fs-extra": "^9.0.1", + "app-builder-bin": "3.5.9", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.6.2", - "chalk": "^3.0.0", - "debug": "^4.1.1", - "fs-extra": "^8.1.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "debug": "^4.2.0", + "fs-extra": "^9.0.0", "is-ci": "^2.0.0", - "js-yaml": "^3.13.1", - "source-map-support": "^0.5.16", + "js-yaml": "^3.14.0", + "source-map-support": "^0.5.19", "stat-mode": "^1.0.0", "temp-file": "^3.3.7" }, @@ -5387,9 +4717,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -5406,20 +4736,64 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -5433,9 +4807,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -5450,26 +4824,32 @@ "requires": { "has-flag": "^4.0.0" } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, "builder-util-runtime": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.6.2.tgz", - "integrity": "sha512-9QnIBISfhgQ2BxtRLidVqf/v5HD73vSKZDllpUmGd2L6VORGQk7cZAPmPtw4HQM3gPBelyVJ5yIjMNZ8xjmd1A==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", "dev": true, "requires": { - "debug": "^4.1.1", + "debug": "^4.2.0", "sax": "^1.2.4" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -5505,28 +4885,27 @@ "dev": true }, "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz", + "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==", "dev": true, "requires": { "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", "fs-minipass": "^2.0.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.2", "infer-owner": "^1.0.4", "lru-cache": "^5.1.1", - "minipass": "^3.0.0", + "minipass": "^3.1.1", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", + "mkdirp": "^1.0.3", "move-concurrently": "^1.0.1", "p-map": "^3.0.0", "promise-inflight": "^1.0.1", "rimraf": "^2.7.1", - "ssri": "^7.0.0", + "ssri": "^8.0.0", + "tar": "^6.0.1", "unique-filename": "^1.1.1" }, "dependencies": { @@ -5544,12 +4923,6 @@ "path-is-absolute": "^1.0.0" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -5559,6 +4932,30 @@ "yallist": "^3.0.2" } }, + "minizlib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", @@ -5568,6 +4965,34 @@ "aggregate-error": "^3.0.0" } }, + "tar": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", + "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -5701,9 +5126,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001035", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "version": "1.0.30001079", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz", + "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==", "dev": true }, "canonical-path": { @@ -5790,9 +5215,9 @@ } }, "chartjs-plugin-zoom": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-0.7.5.tgz", - "integrity": "sha512-OGVQXlw5meOD7ac+CBNO7yKg4Tk06eBb5LUIgpK/qgv7SjVB/89pWMQY3pxWnzCMI8FsoV3iTKQ2ZCOvh4+q6w==", + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-0.7.7.tgz", + "integrity": "sha512-8fOHPPiZTT2+K0w278TQWYs/DtPg06s1OpTqdXxPpdfH7QQbl6Io/WuE1FjPehDWVCxpe3tSTts+dPbxgq2Z5g==", "requires": { "hammerjs": "^2.0.8" } @@ -5951,6 +5376,14 @@ "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "chromium-pickle-js": { @@ -6041,9 +5474,9 @@ } }, "cli-spinners": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", + "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", "dev": true }, "cli-width": { @@ -6053,9 +5486,9 @@ "dev": true }, "clipboard": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", - "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", "optional": true, "requires": { "good-listener": "^1.2.2", @@ -6063,50 +5496,6 @@ "tiny-emitter": "^2.0.0" } }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -6145,9 +5534,9 @@ }, "dependencies": { "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", "dev": true } } @@ -6158,16 +5547,10 @@ "integrity": "sha512-3Jfe6ZmmGzvdQWFo3MUzobn3WdX++jc3Tj0rsviJWYPnP7NGMFEE4qheNeOXeJgB1TTgxYT8XuNvhS/u596yGg==", "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "codelyzer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.1.tgz", - "integrity": "sha512-awBZXFcJUyC5HMYXiHzjr3D24tww2l1D1OqtfA9vUhEtYr32a65A+Gblm/OvsO+HuKLYzn8EDMw1inSM3VbxWA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz", + "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==", "dev": true, "requires": { "app-root-path": "^2.2.1", @@ -6275,9 +5658,9 @@ "dev": true }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, "combined-stream": { @@ -6319,12 +5702,6 @@ } } }, - "compare-versions": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz", - "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==", - "dev": true - }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", @@ -6560,9 +5937,9 @@ }, "dependencies": { "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -6616,6 +5993,26 @@ "is-extglob": "^2.1.1" } }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -6635,6 +6032,12 @@ "semver": "^5.6.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -6916,8 +6319,25 @@ "strip-bom": "^3.0.0", "underscore": "^1.8.3", "which": "^1.3.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -7161,9 +6581,9 @@ } }, "cordova-plugin-advanced-http": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-2.4.1.tgz", - "integrity": "sha512-6G8MTy/d02jE6n3Y9CVyCtD5hZGiBb+/dR2AIzhKN1RGGz38g1D2C8yE4MqHRvnmry6k/KHQWT1MsHNXrjouXQ==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-2.5.1.tgz", + "integrity": "sha512-KwCzjVEBpw6OyTjuUYRe9kGuDs1F5IzpsCXASxuIrV+YaXUTbKwU6mIQ+G4iG9Rs5SfPJSEE4ETx3XuP/Hor0Q==" }, "cordova-plugin-app-version": { "version": "0.1.9", @@ -7186,9 +6606,9 @@ "integrity": "sha512-m7cughw327CjONN/qjzsTpSesLaeybksQh420/gRuSXJX5Zt9NfgsSbqqKDon6jnQ9Mm7h7imgyO2uJ34XMBtA==" }, "cordova-plugin-file-opener2": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.0.tgz", - "integrity": "sha512-yQcJ5coOlfkDcTfIhFJEL2A7SWtLhy50y51Cb+EEkI7Y0lP74Ec2tsMtIOhe9i8wPSoSfnDcN77Hj6CSeIjogA==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.2.tgz", + "integrity": "sha512-L+actYiiOns4DViWKpfGHJJw/cNAdy3VTJFgcY5/Z9Z5GO4WzRfp0ksYCH7Icvi4XwlH9bm9TDOPtAqmnZdf7g==" }, "cordova-plugin-local-notification": { "version": "0.9.0-beta.2", @@ -7214,17 +6634,17 @@ } }, "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" }, "core-js-compat": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", - "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", "dev": true, "requires": { - "browserslist": "^4.8.3", + "browserslist": "^4.8.5", "semver": "7.0.0" }, "dependencies": { @@ -7269,77 +6689,10 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "coverage-istanbul-loader": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/coverage-istanbul-loader/-/coverage-istanbul-loader-2.0.3.tgz", - "integrity": "sha512-LiGRvyIuzVYs3M1ZYK1tF0HekjH0DJ8zFdUwAZq378EJzqOgToyb1690dp3TAUlP6Y+82uu42LRjuROVeJ54CA==", - "dev": true, - "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.0", - "loader-utils": "^1.2.3", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.6.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } } } }, @@ -7360,6 +6713,14 @@ "requires": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "create-error-class": { @@ -7482,6 +6843,96 @@ "timsort": "^0.3.0" } }, + "css-loader": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz", + "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.27", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.3", + "schema-utils": "^2.6.5", + "semver": "^6.3.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "css-parse": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", @@ -7510,14 +6961,14 @@ "dev": true }, "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", + "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", "dev": true, "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" + "cssesc": "^3.0.0", + "fastparse": "^1.1.2", + "regexpu-core": "^4.6.0" } }, "css-tree": { @@ -7554,9 +7005,9 @@ } }, "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "cssnano": { @@ -7637,12 +7088,36 @@ "dev": true }, "csso": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", - "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.37" + "css-tree": "1.0.0-alpha.39" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dev": true, + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "currently-unhandled": { @@ -7974,9 +7449,9 @@ } }, "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", "dev": true }, "debug": { @@ -8056,15 +7531,6 @@ "ip-regex": "^2.1.0" } }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - } - }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -8310,6 +7776,14 @@ "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "dir-glob": { @@ -8322,28 +7796,77 @@ } }, "dmg-builder": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.4.1.tgz", - "integrity": "sha512-hEemh7n0zoVt7zPPwvn7iOttP03oENjJ4ApttPmt8oDnX8T4q42MjGWyDlLkPMplMJfoTxkkNqmm296f0OYM8Q==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.7.0.tgz", + "integrity": "sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg==", "dev": true, "requires": { - "app-builder-lib": "~22.4.1", - "bluebird-lst": "^1.0.9", - "builder-util": "~22.4.1", - "fs-extra": "^8.1.0", + "app-builder-lib": "22.7.0", + "builder-util": "22.7.0", + "fs-extra": "^9.0.0", "iconv-lite": "^0.5.1", - "js-yaml": "^3.13.1", + "js-yaml": "^3.14.0", "sanitize-filename": "^1.6.3" }, "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "iconv-lite": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", - "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz", + "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -8508,15 +8031,18 @@ "dev": true }, "ejs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.0.1.tgz", - "integrity": "sha512-cuIMtJwxvzumSAkqaaoGY/L6Fc/t6YvoP9/VIaK0V/CyqKLEQ8sqODmYfy/cjXEdZ9+OOL8TecbJu+1RsofGDw==", - "dev": true + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz", + "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } }, "electron": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-8.1.1.tgz", - "integrity": "sha512-t+5zzFo7VOgckJc9YpImHJkpqeWxwpmEjywWbAa4IT5MULS7h1XU52H9gMswK/y8xc5lBNwxLhJSty/15+gi1A==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.3.tgz", + "integrity": "sha512-rY59wy50z0oWp/q69zq0UIzvtcM5j2BJbLAwEoLfVNS3DLt9wDZqRqSIBvLEBl+xWbafCnRA9haEqi7ssM94GA==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -8525,33 +8051,33 @@ }, "dependencies": { "@types/node": { - "version": "12.12.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.29.tgz", - "integrity": "sha512-yo8Qz0ygADGFptISDj3pOC9wXfln/5pQaN/ysDIzOaAWXt73cNHmtEC8zSO2Y+kse/txmwIAJzkYZ5fooaS5DQ==", + "version": "12.12.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.45.tgz", + "integrity": "sha512-9w50wqeS0qQH9bo1iIRcQhDXRxoDzyAqCL5oJG+Nuu7cAoe6omGo+YDE0spAGK5sPrdLDhQLbQxq0DnxyndPKA==", "dev": true } } }, "electron-builder": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.4.1.tgz", - "integrity": "sha512-13CjZcGeJS+c3EKRwFT/Oty5Niif5g1FwDioBLEbjkPCPQgxdtDsr+rJtCu9qxkiKDYpAoPS+t/clNk0efONvQ==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.7.0.tgz", + "integrity": "sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ==", "dev": true, "requires": { - "@types/yargs": "^15.0.4", - "app-builder-lib": "22.4.1", + "@types/yargs": "^15.0.5", + "app-builder-lib": "22.7.0", "bluebird-lst": "^1.0.9", - "builder-util": "22.4.1", - "builder-util-runtime": "8.6.2", - "chalk": "^3.0.0", - "dmg-builder": "22.4.1", - "fs-extra": "^8.1.0", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "dmg-builder": "22.7.0", + "fs-extra": "^9.0.0", "is-ci": "^2.0.0", "lazy-val": "^1.0.4", - "read-config-file": "5.0.2", + "read-config-file": "6.0.0", "sanitize-filename": "^1.6.3", "update-notifier": "^4.1.0", - "yargs": "^15.1.0" + "yargs": "^15.3.1" }, "dependencies": { "ansi-regex": { @@ -8571,9 +8097,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -8610,12 +8136,30 @@ "path-exists": "^4.0.0" } }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8628,6 +8172,16 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -8687,6 +8241,12 @@ "has-flag": "^4.0.0" } }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -8699,9 +8259,9 @@ } }, "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -8714,13 +8274,13 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" + "yargs-parser": "^18.1.1" } }, "yargs-parser": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.0.tgz", - "integrity": "sha512-o/Jr6JBOv6Yx3pL+5naWSoIA2jJ+ZkMYQG/ie9qFbukBe4uzmBatlXFOiu/tNKRWEtyf+n5w7jc/O16ufqOTdQ==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -8730,19 +8290,19 @@ } }, "electron-publish": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.4.1.tgz", - "integrity": "sha512-nwKNum3KXm+01rtWX2pc1jhazdzDy2zYnQx+zmXphZchjd6UOMX3ZN0xyZUCKugw5ZliflT6LkgbrcBXBtYD3A==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.7.0.tgz", + "integrity": "sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg==", "dev": true, "requires": { - "@types/fs-extra": "^8.1.0", + "@types/fs-extra": "^9.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "~22.4.1", - "builder-util-runtime": "8.6.2", - "chalk": "^3.0.0", - "fs-extra": "^8.1.0", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "fs-extra": "^9.0.0", "lazy-val": "^1.0.4", - "mime": "^2.4.4" + "mime": "^2.4.5" }, "dependencies": { "ansi-styles": { @@ -8756,9 +8316,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -8774,16 +8334,44 @@ "color-name": "~1.1.4" } }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", "dev": true }, "supports-color": { @@ -8794,13 +8382,19 @@ "requires": { "has-flag": "^4.0.0" } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, "electron-to-chromium": { - "version": "1.3.379", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz", - "integrity": "sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg==", + "version": "1.3.465", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz", + "integrity": "sha512-K/lUeT3NLAsJ5SHRDhK3/zd0tw7OUllYD8w+fTOXm6ljCPsp2qq+vMzxpLo8u1M27ZjZAjRbsA6rirvne2nAMQ==", "dev": true }, "elementtree": { @@ -8831,6 +8425,14 @@ "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "emoji-regex": { @@ -8839,10 +8441,15 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "emoji-toolkit": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-5.5.1.tgz", + "integrity": "sha512-H8E6DNTsRLgy1FVWAiyuW4nqHka0rvUkXhmJPzL28gXo4pLKvuoEi6VhodJ1RfIZOZZ7Zmxo1sENYinyytl/ww==" + }, "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "encodeurl": { @@ -8880,64 +8487,91 @@ } }, "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", + "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", "dev": true, "requires": { "accepts": "~1.3.4", - "base64id": "1.0.0", + "base64id": "2.0.0", "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", + "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", "dev": true, "requires": { - "component-emitter": "1.2.1", + "component-emitter": "~1.3.0", "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "~3.3.1", + "ws": "~6.1.0", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" }, "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" } } } }, "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", "dev": true, "requires": { "after": "0.8.2", @@ -9248,9 +8882,9 @@ } }, "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, "events": { @@ -9652,15 +9286,32 @@ } }, "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } } }, "extsprintf": { @@ -9682,9 +9333,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "isarray": { @@ -9760,9 +9411,9 @@ } }, "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { "pend": "~1.2.0" @@ -9784,19 +9435,19 @@ } }, "file-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz", - "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", + "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", "dev": true, "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.0.0" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.5" }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -9806,18 +9457,19 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "ajv": "^6.12.0", + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } } @@ -9828,14 +9480,13 @@ "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "filelist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", + "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", "dev": true, "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "minimatch": "^3.0.4" } }, "fill-range": { @@ -9891,13 +9542,13 @@ } }, "find-cache-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.0.0.tgz", - "integrity": "sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^3.0.0", + "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" }, "dependencies": { @@ -9921,9 +9572,9 @@ } }, "make-dir": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", - "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -9977,9 +9628,9 @@ "dev": true }, "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, "flush-write-stream": { @@ -10184,19 +9835,38 @@ } }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" }, "dependencies": { "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -10796,12 +10466,6 @@ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", @@ -10864,25 +10528,25 @@ "dev": true }, "global-agent": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.8.tgz", - "integrity": "sha512-VpBe/rhY6Rw2VDOTszAMNambg+4Qv8j0yiTNDYEXXXxkUNGWLHp8A3ztK4YDBbFNcWF4rgsec6/5gPyryya/+A==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", "dev": true, "optional": true, "requires": { - "boolean": "^3.0.0", - "core-js": "^3.6.4", + "boolean": "^3.0.1", + "core-js": "^3.6.5", "es6-error": "^4.1.1", - "matcher": "^2.1.0", - "roarr": "^2.15.2", - "semver": "^7.1.2", - "serialize-error": "^5.0.0" + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" }, "dependencies": { "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true, "optional": true } @@ -11004,17 +10668,24 @@ "dev": true }, "handlebars": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", - "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", "dev": true, "requires": { + "minimist": "^1.2.5", "neo-async": "^2.6.0", - "optimist": "^0.6.1", "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" }, "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -11129,13 +10800,39 @@ "dev": true }, "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "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 + } } }, "hash.js": { @@ -11213,9 +10910,9 @@ "dev": true }, "html-escaper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", - "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "html-minifier": { @@ -11302,12 +10999,12 @@ "dev": true }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } @@ -11424,6 +11121,15 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -11702,12 +11408,6 @@ "loose-envify": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -11861,6 +11561,12 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -12084,316 +11790,105 @@ }, "is-yarn-global": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.4.tgz", - "integrity": "sha512-pEutbN134CzcjlLS1myKX/uxNjwU5eBVSprvkpv3+3dqhBHUZLIWJQowC40w5c0Zf19vBY8mrZl88y5J4RAPbQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-api": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz", - "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", - "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@babel/parser": "^7.7.5", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/generator": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", - "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.7", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", - "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", - "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", + "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "semver": "^6.0.0" } }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -12462,12 +11957,33 @@ } }, "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", "dev": true, "requires": { - "html-escaper": "^2.0.0" + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } } }, "jalhyd": { @@ -12515,20 +12031,12 @@ "dev": true }, "jasmine-spec-reporter": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz", - "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", "dev": true, "requires": { - "colors": "1.1.2" - }, - "dependencies": { - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - } + "colors": "1.4.0" } }, "jasminewd2": { @@ -12538,21 +12046,32 @@ "dev": true }, "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", "dev": true, "requires": { "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -12626,12 +12145,12 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" }, "dependencies": { "minimist": { @@ -12669,9 +12188,9 @@ } }, "jszip": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", - "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz", + "integrity": "sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==", "dev": true, "requires": { "lie": "~3.3.0", @@ -12681,55 +12200,53 @@ } }, "karma": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz", - "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz", + "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==", "dev": true, "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", + "body-parser": "^1.19.0", "braces": "^3.0.2", "chokidar": "^3.0.0", - "colors": "^1.1.0", - "connect": "^3.6.0", + "colors": "^1.4.0", + "connect": "^3.7.0", "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.14", - "log4js": "^4.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", + "dom-serialize": "^2.2.1", + "flatted": "^2.0.2", + "glob": "^7.1.6", + "graceful-fs": "^4.2.4", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.6", + "lodash": "^4.17.15", + "log4js": "^6.2.1", + "mime": "^2.4.5", + "minimatch": "^3.0.4", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^2.3.0", "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" + "tmp": "0.2.1", + "ua-parser-js": "0.7.21", + "yargs": "^15.3.1" }, "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -12739,22 +12256,44 @@ "fill-range": "^7.0.1" } }, - "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" } }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -12764,74 +12303,120 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "buffer-alloc": "^1.2.0" + "p-locate": "^4.1.0" } }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, - "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "picomatch": "^2.0.7" + "glob": "^7.1.3" } }, "source-map": { @@ -12840,6 +12425,35 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -12848,6 +12462,46 @@ "requires": { "is-number": "^7.0.0" } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -12881,28 +12535,31 @@ } }, "karma-coverage-istanbul-reporter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz", - "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", "dev": true, "requires": { - "istanbul-api": "^2.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", "minimatch": "^3.0.4" } }, "karma-jasmine": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.1.1.tgz", - "integrity": "sha512-pxBmv5K7IkBRLsFSTOpgiK/HzicQT3mfFF+oHAC7nxMfYKhaYFgxOa5qjnHW4sL5rUnmdkSajoudOnnOdPyW4Q==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.3.1.tgz", + "integrity": "sha512-Nxh7eX9mOQMyK0VSsMxdod+bcqrR/ikrmEiWj5M6fwuQ7oI+YEF1FckaDsWfs6TIpULm9f0fTKMjF7XcrvWyqQ==", "dev": true, "requires": { "jasmine-core": "^3.5.0" } }, "karma-jasmine-html-reporter": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.2.tgz", - "integrity": "sha512-ILBPsXqQ3eomq+oaQsM311/jxsypw5/d0LnZXj26XkfThwq7jZ55A2CFSKJVA5VekbbOGvMyv7d3juZj0SeTxA==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz", + "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==", "dev": true }, "karma-source-map-support": { @@ -12958,19 +12615,10 @@ "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "less": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz", - "integrity": "sha512-vz32vqfgmoxF1h3K4J+yKCtajH0PWmjkIFgbs5d78E/c/e+UQTnI+lWK+1eQRE95PXM2mC3rJlLSSP9VQHnaow==", + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz", + "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==", "dev": true, "requires": { "clone": "^2.1.2", @@ -12981,7 +12629,8 @@ "mkdirp": "^0.5.0", "promise": "^7.1.1", "request": "^2.83.0", - "source-map": "~0.6.0" + "source-map": "~0.6.0", + "tslib": "^1.10.0" }, "dependencies": { "source-map": { @@ -12990,6 +12639,12 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, @@ -13004,6 +12659,32 @@ "pify": "^4.0.1" }, "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -13012,6 +12693,21 @@ } } }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -13023,9 +12719,9 @@ } }, "license-webpack-plugin": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.3.tgz", - "integrity": "sha512-vTSY5r9HOq4sxR2BIxdIXWKI+9n3b+DoQkhKHedB3TdSxTfXUDRxKXdAj5iejR+qNXprXsxvEu9W+zOhgGIkAw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz", + "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==", "dev": true, "requires": { "@types/webpack-sources": "^0.1.5", @@ -13210,14 +12906,14 @@ "dev": true }, "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" + "emojis-list": "^3.0.0", + "json5": "^2.1.2" } }, "locate-path": { @@ -13269,16 +12965,16 @@ } }, "log4js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", - "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", + "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", "dev": true, "requires": { - "date-format": "^2.0.0", + "date-format": "^3.0.0", "debug": "^4.1.1", - "flatted": "^2.0.0", + "flatted": "^2.0.1", "rfdc": "^1.1.4", - "streamroller": "^1.0.6" + "streamroller": "^2.2.4" }, "dependencies": { "debug": { @@ -13298,12 +12994,6 @@ } } }, - "loglevel": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", - "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==", - "dev": true - }, "loglevel-plugin-prefix": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz", @@ -13396,9 +13086,9 @@ }, "dependencies": { "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -13464,15 +13154,6 @@ "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", "dev": true }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -13501,19 +13182,19 @@ "dev": true }, "matcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz", - "integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "dev": true, "optional": true, "requires": { - "escape-string-regexp": "^2.0.0" + "escape-string-regexp": "^4.0.0" }, "dependencies": { "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "optional": true } @@ -13525,9 +13206,9 @@ "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78=" }, "mathjax": { - "version": "2.7.7", - "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.7.tgz", - "integrity": "sha512-OOl0B2/0tSJAtAZarXnQuLDBLgTNRqiI9VqHTQzPsxf4okT2iIpDrvaklK9x2QEMD1sDj4yRn11Ygci41DxMAQ==" + "version": "2.7.8", + "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.8.tgz", + "integrity": "sha512-n4xZJ+cw7o01YOSVhxxjyOmibqBPCi+XTDof4siq78QWMx7Fxjzgb/mxMUEElMzTDodMV7ENIMsjREOSldOQPw==" }, "md5-file": { "version": "4.0.0", @@ -13558,17 +13239,6 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -13667,6 +13337,14 @@ "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "mime": { @@ -13703,9 +13381,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz", - "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -13714,6 +13392,32 @@ "webpack-sources": "^1.1.0" }, "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -13778,15 +13482,15 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -13819,9 +13523,9 @@ } }, "minipass-pipeline": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", - "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", + "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", "dev": true, "requires": { "minipass": "^3.0.0" @@ -13894,12 +13598,12 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "moment": { @@ -14034,20 +13738,21 @@ "integrity": "sha512-MKawthAXawXZ+pcJS6/dGuwGDunM4yuUpjLjmFlRW3pr+BbWoUFVtFNxdcf1490FkYEsLC9sfEcZ4iQkmsI8sg==" }, "ngx-markdown": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.0.0.tgz", - "integrity": "sha512-wcXMxA4Skgk9SzhfDRjihap/Kjq17jmMQiE/Ccp0bNibGaDgS5DbZiPBlMNLkp669UvjY9wVuxE4NuDtmQHS9w==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.1.1.tgz", + "integrity": "sha512-dEuR1KBa/Ivb1HT+DvSW1p6wLSx79EZz8/WpgDxiEZfL1PADTQUziNLgmtwAEgBTDjsXFhZ/Af7Zq5J9dQf6KQ==", "requires": { - "@types/marked": "^0.7.2", + "@types/marked": "^0.7.4", + "emoji-toolkit": "^5.5.0", "katex": "^0.11.0", - "marked": "^0.8.0", - "prismjs": "^1.16.0" + "marked": "^1.1.0", + "prismjs": "^1.20.0" }, "dependencies": { "marked": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz", - "integrity": "sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.0.tgz", + "integrity": "sha512-EkE7RW6KcXfMHy2PA7Jg0YJE1l8UPEZE8k45tylzmZM30/r1M1MUXWQfJlrSbsTeh7m/XTwHbWUENvAJZpp1YA==" } } }, @@ -14067,6 +13772,13 @@ "integrity": "sha512-t0aO4X8rqesLqypU8ZK2W7xGVbpi/z7u/Xg7qhnLoKVauI29NFzdKxV2oaYZmpkxIpgdbLSsIfklkjgxIM0IFA==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + } } }, "nice-try": { @@ -14083,9 +13795,9 @@ } }, "node-fetch-npm": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.3.tgz", - "integrity": "sha512-DgwoKEsqLnFZtk3ap7GWBHcHwnUhsNmQqEDcdjfQ8GofLEFJ081NAd4Uin3R7RFZBWVJCwHISw1oaEqPgSLloA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", + "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", "dev": true, "requires": { "encoding": "^0.1.11", @@ -14139,21 +13851,10 @@ } }, "node-releases": { - "version": "1.1.52", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", - "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } + "version": "1.1.58", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", + "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "dev": true }, "nopt": { "version": "4.0.1", @@ -14217,6 +13918,23 @@ "pify": "^3.0.0" } }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "requires": { + "semver": "^7.1.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, "npm-normalize-package-bin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", @@ -14247,20 +13965,63 @@ } }, "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz", + "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.0.0", + "semver": "^7.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", + "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "dev": true, + "requires": { + "lru-cache": "^5.1.1" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "npm-package-arg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", + "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.2", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "npm-registry-fetch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz", - "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz", + "integrity": "sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA==", "dev": true, "requires": { "JSONStream": "^1.3.4", @@ -14282,9 +14043,9 @@ } }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "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 }, "yallist": { @@ -14319,12 +14080,6 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -14503,9 +14258,9 @@ }, "dependencies": { "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", @@ -14539,18 +14294,18 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "object-inspect": { @@ -14622,19 +14377,23 @@ } }, "open": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", - "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz", + "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==", "dev": true, "requires": { - "is-wsl": "^2.1.0" + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" }, "dependencies": { "is-wsl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } } } }, @@ -14653,24 +14412,6 @@ "is-wsl": "^1.1.0" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, "optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -14686,26 +14427,47 @@ } }, "ora": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", - "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", + "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", "dev": true, "requires": { - "chalk": "^2.4.2", + "chalk": "^3.0.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.2.0", "is-interactive": "^1.0.0", "log-symbols": "^3.0.0", - "strip-ansi": "^5.2.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -14715,6 +14477,27 @@ "restore-cursor": "^3.1.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, "onetime": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", @@ -14735,12 +14518,21 @@ } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } @@ -14765,17 +14557,6 @@ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "os-name": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", @@ -14806,24 +14587,12 @@ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", "dev": true }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", @@ -14893,9 +14662,9 @@ } }, "pacote": { - "version": "9.5.8", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz", - "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==", + "version": "9.5.12", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", + "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", "dev": true, "requires": { "bluebird": "^3.5.3", @@ -14912,6 +14681,7 @@ "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", "npm-package-arg": "^6.1.0", "npm-packlist": "^1.1.12", "npm-pick-manifest": "^3.0.0", @@ -14930,9 +14700,9 @@ }, "dependencies": { "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -14996,6 +14766,17 @@ "yallist": "^3.0.0" } }, + "npm-pick-manifest": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", + "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -15180,9 +14961,9 @@ } }, "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -15345,34 +15126,6 @@ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==", "dev": true }, - "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -15380,9 +15133,9 @@ "dev": true }, "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -15407,25 +15160,6 @@ "postcss": "^7.0.27", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "postcss-colormin": { @@ -15543,6 +15277,34 @@ "postcss": "^7.0.0", "postcss-load-config": "^2.0.0", "schema-utils": "^1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } } }, "postcss-merge-longhand": { @@ -15707,6 +15469,47 @@ } } }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, "postcss-normalize-charset": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", @@ -15936,14 +15739,6 @@ "cssesc": "^3.0.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" - }, - "dependencies": { - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - } } }, "postcss-svgo": { @@ -15978,9 +15773,9 @@ } }, "postcss-value-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", - "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, "prelude-ls": { @@ -16001,9 +15796,9 @@ "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" }, "primeng": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.1.tgz", - "integrity": "sha512-BmIq5F3+xUQ96G4fD4K2uR3azGitWCum++SVCXEgzzHI4zp55Xzyd96H8vHQg/IQxdT8ftlr/OpOHKACAFNgow==" + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.1.0.tgz", + "integrity": "sha512-EeW+WA7uT4/7UBJ23Gfb4x8MaTdFpeV9XxAy68K/XIoeTmZ2hNJrdVdfF63y6k7nxwA/mOrkIMshY0eM8nMzoQ==" }, "printj": { "version": "1.1.2", @@ -16011,9 +15806,9 @@ "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" }, "prismjs": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.19.0.tgz", - "integrity": "sha512-IVFtbW9mCWm9eOIaEkNyo2Vl4NnEifis2GQ7/MLRG5TQe6t+4Sj9J5QWI9i3v+SS43uZBlCAOn+zYTVYQcPXJw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.20.0.tgz", + "integrity": "sha512-AEDjSrVNkynnw6A+B1DsFkd6AVdTnp+/WoUixFRULlCLZVRZlVQMVWio/16jv7G1FscUxQxOQhWwApgbnxr6kQ==", "requires": { "clipboard": "^2.0.0" } @@ -16021,7 +15816,8 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true }, "process": { "version": "0.11.10", @@ -16109,9 +15905,9 @@ } }, "protractor": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.3.tgz", - "integrity": "sha512-7pMAolv8Ah1yJIqaorDTzACtn3gk7BamVKPTeO5lqIGOrfosjPgXFx/z1dqSI+m5EeZc2GMJHPr5DYlodujDNA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", "dev": true, "requires": { "@types/q": "^0.0.32", @@ -16122,32 +15918,69 @@ "glob": "^7.0.3", "jasmine": "2.8.0", "jasminewd2": "^2.1.0", - "optimist": "~0.6.0", "q": "1.4.1", "saucelabs": "^1.5.0", "selenium-webdriver": "3.6.0", "source-map-support": "~0.4.0", "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.0.6" + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "color-name": "~1.1.4" } }, "del": { @@ -16165,6 +15998,22 @@ "rimraf": "^2.2.8" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", @@ -16179,18 +16028,54 @@ "pinkie-promise": "^2.0.0" } }, + "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 + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -16206,6 +16091,28 @@ "source-map": "^0.5.6" } }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -16230,6 +16137,67 @@ "semver": "^5.3.0", "xml2js": "^0.4.17" } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -16279,6 +16247,14 @@ "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "pump": { @@ -16456,19 +16432,19 @@ } }, "raw-loader": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-3.1.0.tgz", - "integrity": "sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz", + "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^2.0.1" + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -16478,18 +16454,45 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "ajv": "^6.12.0", + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } } @@ -16560,32 +16563,31 @@ } }, "read-config-file": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-5.0.2.tgz", - "integrity": "sha512-tVt1lsiSjs+FtL/vtfCivqtKR1UNk3BB3uPJQvJqkgtAYDvZjo0xyXFYSVmzaTcO+Jdi5G7O2K2vDV+p1M/oug==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz", + "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==", "dev": true, "requires": { "dotenv": "^8.2.0", "dotenv-expand": "^5.1.0", - "fs-extra": "^8.1.0", "js-yaml": "^3.13.1", - "json5": "^2.1.1", + "json5": "^2.1.2", "lazy-val": "^1.0.4" }, "dependencies": { "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -16700,14 +16702,17 @@ } }, "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "registry-auth-token": { @@ -16730,15 +16735,15 @@ } }, "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -16809,12 +16814,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -16937,9 +16936,9 @@ } }, "roarr": { - "version": "2.15.2", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.2.tgz", - "integrity": "sha512-jmaDhK9CO4YbQAV8zzCnq9vjAqeO489MS5ehZ+rXmFiPFFE6B+S9KYO6prjmLJ5A0zY3QxVlQdrIya7E/azz/Q==", + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz", + "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==", "dev": true, "optional": true, "requires": { @@ -16966,14 +16965,21 @@ "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" }, "rollup": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.25.2.tgz", - "integrity": "sha512-+7z6Wab/L45QCPcfpuTZKwKiB0tynj05s/+s2U3F2Bi7rOLPr9UcjUwO7/xpjlPNXA/hwnth6jBExFRGyf3tMg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz", + "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==", "dev": true, "requires": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" + "fsevents": "~2.1.2" + }, + "dependencies": { + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + } } }, "run-async": { @@ -17000,11 +17006,18 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + } } }, "safe-buffer": { @@ -17037,31 +17050,31 @@ } }, "sass": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.3.tgz", - "integrity": "sha512-1DKRZxJMOh4Bme16AbWTyYeJAjTlrvw2+fWshHHaepeJfGq2soFZTnt0YhWit+bohtDu4LdyPoEj6VFD4APHog==", + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz", + "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" } }, "sass-loader": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", - "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", "dev": true, "requires": { "clone-deep": "^4.0.1", "loader-utils": "^1.2.3", "neo-async": "^2.6.1", - "schema-utils": "^2.1.0", + "schema-utils": "^2.6.1", "semver": "^6.3.0" }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -17071,9 +17084,35 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "neo-async": { @@ -17083,12 +17122,13 @@ "dev": true }, "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "ajv": "^6.12.0", + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } }, @@ -17305,13 +17345,13 @@ } }, "serialize-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz", - "integrity": "sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", "dev": true, "optional": true, "requires": { - "type-fest": "^0.8.0" + "type-fest": "^0.13.1" } }, "serialize-javascript": { @@ -17599,27 +17639,33 @@ } }, "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", "dev": true, "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", + "debug": "~4.1.0", + "engine.io": "~3.4.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -17630,56 +17676,96 @@ "dev": true }, "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", "dev": true, "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", "has-binary2": "~1.0.2", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", + "socket.io-parser": "~3.3.0", "to-array": "0.1.4" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", "dev": true, "requires": { - "ms": "2.0.0" + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } } } }, "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "~3.1.0", + "debug": "~4.1.0", "isarray": "2.0.1" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "isarray": { @@ -17687,19 +17773,15 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, "sockjs-client": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", @@ -17800,6 +17882,34 @@ "requires": { "async": "^2.5.0", "loader-utils": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } } }, "source-map-resolve": { @@ -17816,9 +17926,9 @@ } }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -17877,36 +17987,6 @@ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, - "spdy": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", - "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "spdy-transport": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", @@ -18008,12 +18088,11 @@ } }, "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", + "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1", "minipass": "^3.1.1" } }, @@ -18175,38 +18254,48 @@ "dev": true }, "streamroller": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", - "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", + "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", "dev": true, "requires": { - "async": "^2.6.2", - "date-format": "^2.0.0", - "debug": "^3.2.6", - "fs-extra": "^7.0.1", - "lodash": "^4.17.14" + "date-format": "^2.1.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0" }, "dependencies": { + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", + "dev": true + }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -18221,33 +18310,6 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "string.prototype.codepointat": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", @@ -18327,19 +18389,19 @@ "dev": true }, "style-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz", - "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", + "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", "dev": true, "requires": { "loader-utils": "^1.2.3", - "schema-utils": "^2.0.1" + "schema-utils": "^2.6.4" }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -18349,18 +18411,45 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "ajv": "^6.12.0", + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } } @@ -18447,6 +18536,34 @@ "loader-utils": "^1.0.2", "lodash.clonedeep": "^4.5.0", "when": "~3.6.x" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } } }, "sumchecker": { @@ -18532,9 +18649,9 @@ } }, "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", "dev": true }, "domutils": { @@ -18664,6 +18781,25 @@ "requires": { "async-exit-hook": "^2.0.1", "fs-extra": "^8.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + } } }, "term-size": { @@ -18730,9 +18866,9 @@ } }, "terser-webpack-plugin": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.3.tgz", - "integrity": "sha512-gWHkaGzGYjmDoYxksFZynWTzvXOAjQ5dd7xuTMYlv4zpWlLSb6v0QLSZjELzP5dMs1ox30O1BIPs9dgqlMHuLQ==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", + "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", "dev": true, "requires": { "cacache": "^13.0.1", @@ -18747,9 +18883,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -18758,151 +18894,128 @@ "uri-js": "^4.2.2" } }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "jest-worker": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", - "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true }, - "make-dir": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", - "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "semver": "^6.0.0" + "yallist": "^3.0.2" } }, "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-try": "^2.0.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { - "find-up": "^4.0.0" + "aggregate-error": "^3.0.0" } }, "schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "ajv": "^6.12.0", + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "supports-color": { + "ssri": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" } }, "terser": { - "version": "4.6.7", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz", - "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", + "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", "source-map-support": "~0.5.12" } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -19077,12 +19190,6 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", @@ -19103,16 +19210,34 @@ "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==" }, "ts-node": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.7.0.tgz", - "integrity": "sha512-s659CsHrsxaRVDEleuOkGvbsA0rWHtszUNEt1r0CgAFN5ZZTQtDzpsluS7W5pOGJIa1xZE8R/zK4dEs+ldFezg==", + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", "dev": true, "requires": { "arg": "^4.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.6", + "source-map-support": "^0.5.17", "yn": "3.1.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } } }, "ts-simple-ast": { @@ -19169,6 +19294,12 @@ "slash": "^1.0.0" } }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, "typescript": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.1.tgz", @@ -19178,14 +19309,14 @@ } }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", + "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" }, "tslint": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.0.tgz", - "integrity": "sha512-fXjYd/61vU6da04E505OZQGb2VCN2Mq3doeWcOIryuG+eqdmFUXTYVwdhnbEu2k46LNLgUYt9bI5icQze/j0bQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.2.tgz", + "integrity": "sha512-UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -19196,11 +19327,34 @@ "glob": "^7.1.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.10.0", "tsutils": "^2.29.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "tsutils": { @@ -19210,6 +19364,14 @@ "dev": true, "requires": { "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "tty-browserify": { @@ -19256,10 +19418,11 @@ } }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true }, "type-is": { "version": "1.6.18", @@ -19272,18 +19435,18 @@ }, "dependencies": { "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, "requires": { - "mime-db": "1.43.0" + "mime-db": "1.44.0" } } } @@ -19309,6 +19472,12 @@ "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", "dev": true }, + "ua-parser-js": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", + "dev": true + }, "uglify-js": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz", @@ -19330,12 +19499,6 @@ } } }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -19670,9 +19833,9 @@ "dev": true }, "is-installed-globally": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.1.tgz", - "integrity": "sha512-oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", "dev": true, "requires": { "global-dirs": "^2.0.1", @@ -19692,9 +19855,9 @@ "dev": true }, "make-dir": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", - "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -19824,16 +19987,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - } - }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", @@ -19877,9 +20030,9 @@ }, "dependencies": { "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", @@ -19913,18 +20066,18 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "object-inspect": { @@ -20001,39 +20154,187 @@ "extsprintf": "^1.2.0" } }, - "viz.js": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz", - "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==", - "dev": true - }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "viz.js": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz", + "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==", + "dev": true + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true, + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", "dev": true, + "optional": true, "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "chokidar": "^2.1.8" }, "dependencies": { "chokidar": { @@ -20041,6 +20342,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, + "optional": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", @@ -20060,7 +20362,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "optional": true } } }, @@ -20093,9 +20396,9 @@ } }, "webpack": { - "version": "4.41.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", - "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", + "version": "4.42.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", + "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", @@ -20118,21 +20421,15 @@ "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.1", + "terser-webpack-plugin": "^1.4.3", "watchpack": "^1.6.0", "webpack-sources": "^1.4.1" }, "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -20142,9 +20439,9 @@ } }, "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -20165,9 +20462,9 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "find-cache-dir": { @@ -20195,6 +20492,26 @@ "path-is-absolute": "^1.0.0" } }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -20214,6 +20531,12 @@ "semver": "^5.6.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "neo-async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", @@ -20232,6 +20555,15 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -20248,16 +20580,16 @@ } }, "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^3.1.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", @@ -20294,9 +20626,9 @@ } }, "webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -20307,33 +20639,39 @@ "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", - "html-entities": "^1.2.1", + "html-entities": "^1.3.1", "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.6", + "loglevel": "^1.6.8", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.25", + "portfinder": "^1.0.26", "schema-utils": "^1.0.0", "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.19", + "sockjs": "0.3.20", "sockjs-client": "1.4.0", - "spdy": "^4.0.1", + "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", "ws": "^6.2.1", - "yargs": "12.0.5" + "yargs": "^13.3.2" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -20354,6 +20692,28 @@ "upath": "^1.1.1" } }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -20363,25 +20723,28 @@ "ms": "^2.1.1" } }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true }, - "loglevel": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", - "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "html-entities": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "dev": true + }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", "dev": true }, "ms": { @@ -20390,12 +20753,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -20403,9 +20760,9 @@ "dev": true }, "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", + "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", "dev": true, "requires": { "async": "^2.6.2", @@ -20424,14 +20781,11 @@ } } }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dev": true, - "requires": { - "node-forge": "0.9.0" - } + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "semver": { "version": "6.3.0", @@ -20439,48 +20793,87 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", "dev": true, "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ms": "^2.1.1" + "ansi-regex": "^4.1.0" } } } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", "dev": true, "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "websocket-extensions": ">=0.1.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "ws": { @@ -20491,6 +20884,34 @@ "requires": { "async-limiter": "~1.0.0" } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -20540,9 +20961,9 @@ } }, "webpack-subresource-integrity": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.3.4.tgz", - "integrity": "sha512-6XbGYzjh30cGQT/NsC+9IAkJP8IL7/t47sbwR5DLSsamiD56Rwv4/+hsgEHsviPvrEFZ0JRAQtCRN3UsR2Pw9g==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz", + "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==", "dev": true, "requires": { "webpack-sources": "^1.3.0" @@ -20715,6 +21136,12 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", @@ -20725,43 +21152,39 @@ } }, "worker-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-3.2.0.tgz", - "integrity": "sha512-W5nRkw7+HlbsEt3qRP6MczwDDISjiRj2GYt9+bpe8A2La00TmJdwzG5bpdMXhRt1qcWmwAvl1TiKaHRa+XDS9Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.3.tgz", + "integrity": "sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg==", "dev": true, "requires": { "loader-utils": "^1.1.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "minimist": "^1.2.0" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true } } }, @@ -20782,15 +21205,10 @@ } }, "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", + "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==", + "dev": true }, "xdg-basedir": { "version": "3.0.0", @@ -20799,9 +21217,9 @@ "dev": true }, "xlsx": { - "version": "0.15.6", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz", - "integrity": "sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.2.tgz", + "integrity": "sha512-XTqOy7YpCUtGbvCYaCh1t1RsZ/y8cSCbZCOYtqqZ4/EmHkyv+/ghxmCvvR8yc4Tn5fhny+3j7voKwJaRlffNKA==", "requires": { "adler-32": "~1.2.0", "cfb": "^1.1.4", @@ -20830,12 +21248,6 @@ "xmlbuilder": "~11.0.0" }, "dependencies": { - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, "xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", @@ -20878,43 +21290,14 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, "yeast": { diff --git a/package.json b/package.json index 04805cfd7..349081643 100644 --- a/package.json +++ b/package.json @@ -35,81 +35,81 @@ }, "private": true, "dependencies": { - "@angular/animations": "^9.0.7", - "@angular/cdk": "^9.1.3", - "@angular/common": "^9.0.7", - "@angular/compiler": "^9.0.7", - "@angular/core": "^9.0.7", - "@angular/flex-layout": "^9.0.0-beta.29", - "@angular/forms": "^9.0.7", - "@angular/material": "^9.1.3", - "@angular/platform-browser": "^9.0.7", - "@angular/platform-browser-dynamic": "^9.0.7", - "@angular/router": "^9.0.7", + "@angular/animations": "^9.1.9", + "@angular/cdk": "^9.2.4", + "@angular/common": "^9.1.9", + "@angular/compiler": "^9.1.9", + "@angular/core": "^9.1.9", + "@angular/flex-layout": "^9.0.0-beta.31", + "@angular/forms": "^9.1.9", + "@angular/material": "^9.2.4", + "@angular/platform-browser": "^9.1.9", + "@angular/platform-browser-dynamic": "^9.1.9", + "@angular/router": "^9.1.9", "@types/pako": "^1.0.1", "@types/sprintf-js": "^1.1.2", "angular2-chartjs": "^0.5.1", "angular2-hotkeys": "^2.2.0", - "chartjs-plugin-zoom": "^0.7.5", + "chartjs-plugin-zoom": "^0.7.7", "cordova-android": "^8.1.0", - "cordova-plugin-advanced-http": "^2.4.1", + "cordova-plugin-advanced-http": "^2.5.1", "cordova-plugin-app-version": "^0.1.9", "cordova-plugin-badge": "^0.8.8", "cordova-plugin-device": "^2.0.3", "cordova-plugin-file": "^6.0.2", - "cordova-plugin-file-opener2": "^3.0.0", + "cordova-plugin-file-opener2": "^3.0.2", "cordova-plugin-local-notification": "^0.9.0-beta.2", "cordova-plugin-whitelist": "^1.3.4", - "core-js": "^3.6.4", + "core-js": "^3.6.5", "file-saver": "^2.0.2", "he": "^1.2.0", "jalhyd": "file:../jalhyd", "material-design-icons": "^3.0.1", - "mathjax": "^2.7.7", + "mathjax": "^2.7.8", "mermaid": "~8.3.1", "ngx-konami": "^1.7.1", - "ngx-markdown": "^9.0.0", + "ngx-markdown": "^9.1.1", "ngx-material-file-input": "^2.1.1", "ngx-matomo": "^0.1.4", "ngx-webstorage-service": "^4.1.0", "pako": "^1.0.11", - "primeng": "^9.0.1", + "primeng": "^9.1.0", "roboto-fontface": "^0.10.0", - "rxjs": "^6.5.4", + "rxjs": "^6.5.5", "screenfull": "^5.0.2", "svg-pan-zoom": "^3.6.1", - "tslib": "^1.11.1", - "xlsx": "^0.15.6", + "tslib": "^2.0.0", + "xlsx": "^0.16.2", "zone.js": "^0.10.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.900.7", - "@angular/cli": "^9.0.7", - "@angular/compiler-cli": "^9.0.7", - "@angular/language-service": "^9.0.7", + "@angular-devkit/build-angular": "^0.901.7", + "@angular/cli": "^9.1.7", + "@angular/compiler-cli": "^9.1.9", + "@angular/language-service": "^9.1.9", "@compodoc/compodoc": "^1.1.11", "@types/file-saver": "^2.0.1", - "@types/jasmine": "^3.5.9", + "@types/jasmine": "^3.5.10", "@types/jasminewd2": "^2.0.8", - "@types/node": "^13.9.2", - "codelyzer": "^5.1.2", + "@types/node": "^14.0.12", + "codelyzer": "^5.2.2", "cordova": "^9.0.0", - "electron": "^8.1.1", - "electron-builder": "^22.4.1", - "fs-extra": "^8.1.0", + "electron": "^9.0.3", + "electron-builder": "^22.7.0", + "fs-extra": "^9.0.1", "jasmine-core": "^3.5.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "^4.4.1", + "jasmine-spec-reporter": "^5.0.2", + "karma": "^5.0.9", "karma-chrome-launcher": "^3.1.0", "karma-cli": "~2.0.0", - "karma-coverage-istanbul-reporter": "^2.1.1", - "karma-jasmine": "^3.1.1", - "karma-jasmine-html-reporter": "^1.5.2", - "protractor": "^5.4.3", - "ts-node": "^8.7.0", - "tslint": "^6.1.0", + "karma-coverage-istanbul-reporter": "^3.0.3", + "karma-jasmine": "^3.3.1", + "karma-jasmine-html-reporter": "^1.5.4", + "protractor": "^7.0.0", + "ts-node": "^8.10.2", + "tslint": "^6.1.2", "typescript": "~3.7.5", - "webpack-dev-server": "^3.10.3" + "webpack-dev-server": "^3.11.0" }, "cordova": { "plugins": { @@ -127,4 +127,4 @@ "android" ] } -} \ No newline at end of file +} -- GitLab From 02b6bb481078b2cda8cce9231016a4917ba5518c Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 9 Jun 2020 12:25:47 +0200 Subject: [PATCH 058/117] PreBarrage: change form on graph click, edit walls --- src/app/calculators/pbbassin/en.json | 6 + src/app/calculators/pbbassin/fr.json | 6 + src/app/calculators/pbcloison/en.json | 6 + src/app/calculators/pbcloison/fr.json | 6 + src/app/calculators/prebarrage/config.json | 41 ++---- src/app/calculators/prebarrage/fr.json | 13 +- .../dialog-new-pb-cloison.component.ts | 2 - .../calculator.component.ts | 8 +- .../pb-schema/pb-schema.component.ts | 135 +++++++++++++++--- .../formulaire/definition/form-definition.ts | 1 + .../definition/form-parallel-structures.ts | 2 +- .../formulaire/definition/form-pb-cloison.ts | 74 ++++++++++ .../formulaire/definition/form-prebarrage.ts | 115 +++++++++------ .../formulaire/elements/formulaire-node.ts | 2 +- src/app/formulaire/elements/pb-schema.ts | 5 + .../formulaire/elements/select-field-nub.ts | 52 ++++++- 16 files changed, 366 insertions(+), 108 deletions(-) create mode 100644 src/app/calculators/pbbassin/en.json create mode 100644 src/app/calculators/pbbassin/fr.json create mode 100644 src/app/calculators/pbcloison/en.json create mode 100644 src/app/calculators/pbcloison/fr.json create mode 100644 src/app/formulaire/definition/form-pb-cloison.ts diff --git a/src/app/calculators/pbbassin/en.json b/src/app/calculators/pbbassin/en.json new file mode 100644 index 000000000..6566e3fd8 --- /dev/null +++ b/src/app/calculators/pbbassin/en.json @@ -0,0 +1,6 @@ +{ + "fs_basin_params": "Basin parameters", + + "S": "Surface", + "ZF": "Bottom elevation" +} diff --git a/src/app/calculators/pbbassin/fr.json b/src/app/calculators/pbbassin/fr.json new file mode 100644 index 000000000..71d54fd77 --- /dev/null +++ b/src/app/calculators/pbbassin/fr.json @@ -0,0 +1,6 @@ +{ + "fs_basin_params": "Paramètres du bassin", + + "S": "Surface", + "ZF": "Cote de fond" +} diff --git a/src/app/calculators/pbcloison/en.json b/src/app/calculators/pbcloison/en.json new file mode 100644 index 000000000..bcd280c3a --- /dev/null +++ b/src/app/calculators/pbcloison/en.json @@ -0,0 +1,6 @@ +{ + "fs_wall_params": "Wall parameters", + + "select_upstream_basin": "Upstream basin", + "select_downstream_basin": "Downstream basin" +} diff --git a/src/app/calculators/pbcloison/fr.json b/src/app/calculators/pbcloison/fr.json new file mode 100644 index 000000000..4480513b3 --- /dev/null +++ b/src/app/calculators/pbcloison/fr.json @@ -0,0 +1,6 @@ +{ + "fs_wall_params": "Paramètres de la cloison", + + "select_upstream_basin": "Bassin amont", + "select_downstream_basin": "Bassin aval" +} diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json index 6c72eac2d..547346740 100644 --- a/src/app/calculators/prebarrage/config.json +++ b/src/app/calculators/prebarrage/config.json @@ -30,21 +30,8 @@ "id": "fs_basin_params", "type": "fieldset", "fields": [ - { - "id": "select_upstream", - "type": "select_reference", - "reference": "nub", - "source": "upstream_stuff" - }, - { - "id": "select_downstream", - "type": "select_reference", - "reference": "nub", - "source": "downstream_stuff" - }, - "Q", - "Z1", - "Z2" + "S", + "ZF" ] }, { @@ -101,28 +88,30 @@ "type": "fieldset", "fields": [ { - "id": "select_upstream", + "id": "select_upstream_basin", "type": "select_reference", "reference": "nub", - "source": "upstream_stuff" + "source": "upstream_basin" }, { - "id": "select_downstream", + "id": "select_downstream_basin", "type": "select_reference", "reference": "nub", - "source": "downstream_stuff" - }, - { - "id": "devices_container", - "type": "template_container", - "templates": [ - "fs_wall_device" - ] + "source": "downstream_basin" } ] }, + { + "id": "struct_container", + "type": "template_container", + "templates": [ + "fs_wall_device" + ] + }, { "type": "options", + "upstreamBasinSelectId": "select_upstream_basin", + "downstreamBasinSelectId": "select_downstream_basin", "selectIds": [ ] } ] diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json index b770ea7b8..287b79352 100644 --- a/src/app/calculators/prebarrage/fr.json +++ b/src/app/calculators/prebarrage/fr.json @@ -1,10 +1,7 @@ { - "fs_params": "Édition du bassin / de la cloison", + "fs_river_params": "Paramètres de la rivière", - "Ytarget": "Valeur du paramètre cible", - "Xinit": "Valeur initiale du paramètre recherché", - "X": "Valeur du paramètre recherché", - - "select_upstream": "Bassin amont", - "select_downstream": "Bassin aval" -} \ No newline at end of file + "Q": "Débit", + "Z1": "Cote de l'eau amont", + "Z2": "Cote de l'eau aval" +} diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts index d562f03d3..7798238d6 100644 --- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts @@ -57,13 +57,11 @@ export class DialogNewPbCloisonComponent implements OnInit { * @param downstream if true, inverts the test */ public basinIsSelectable(index: number, downstream: boolean = false): boolean { - let ok = true; if (downstream) { return (this.upstreamIndex === 0 || index > this.upstreamIndex) } else { return (this.downstreamIndex === 0 || index < this.downstreamIndex) } - return ok; } public basinDescription(i: number, fallback: string): string { diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index f98742720..ca655a3e5 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -46,6 +46,7 @@ import { MultiDimensionResults } from "../../results/multidimension-results"; import { NgParameter } from "../../formulaire/elements/ngparam"; import { PbSchema } from "../../formulaire/elements/pb-schema"; import { PbSchemaComponent } from "../pb-schema/pb-schema.component"; +import { FormulairePrebarrage } from "../../formulaire/definition/form-prebarrage"; import { HotkeysService, Hotkey } from "angular2-hotkeys"; @@ -356,6 +357,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe this._formulaire.resetResults([]); this.appComponent.showProgressBar = true; this._computeClicked = true; + this.showPBInputData = false; // send resetForm to clear log this._formulaire.notifyObservers({ "action": "resetForm", @@ -569,9 +571,9 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe /** réception d'un événement de clic sur un nœud du schéma de PréBarrage */ public onPBNodeSelected(event: any) { - console.log("node selected", event.node ? event.node.constructor.name : "zubi"); - this.showPBInputData = true; - // show proper form depending on what was clicked + this.showPBInputData = true; // @TODO pas forcément ! (résultats de l'élément cliqué) + // show proper form (actually subform elements) depending on what was clicked + (this._formulaire as FormulairePrebarrage).nodeSelected(event.node); } public openHelp() { diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 6728c7829..7249b6929 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -1,18 +1,16 @@ -import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild, Inject, forwardRef } from "@angular/core"; -import { MatDialog } from '@angular/material/dialog'; +import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild, Inject, forwardRef, AfterContentInit } from "@angular/core"; +import { MatDialog } from "@angular/material/dialog"; import { - PreBarrage, PbBassin, PbBassinParams, PbCloison + PreBarrage, PbBassin, PbBassinParams, PbCloison, CreateStructure, LoiDebit, Structure, Observer, IObservable } from "jalhyd"; import * as mermaid from "mermaid"; import { I18nService } from "../../services/internationalisation.service"; -import { ApplicationSetupService } from "../../services/app-setup.service"; -import { NotificationsService } from "../../services/notifications.service"; import { PbSchema } from "../../formulaire/elements/pb-schema"; import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component"; -import { GenericCalculatorComponent } from '../generic-calculator/calculator.component'; +import { GenericCalculatorComponent } from "../generic-calculator/calculator.component"; /** * The interactive schema for calculator type "PreBarrage" (component) @@ -24,7 +22,7 @@ import { GenericCalculatorComponent } from '../generic-calculator/calculator.com "./pb-schema.component.scss" ] }) -export class PbSchemaComponent implements AfterViewInit, OnInit { +export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnInit, Observer { @Input() private pbSchema: PbSchema; @@ -65,9 +63,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { public constructor( @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent, private i18nService: I18nService, - private newPbCloisonDialog: MatDialog, - private appSetupService: ApplicationSetupService, - private notifService: NotificationsService + private newPbCloisonDialog: MatDialog ) { } public get selectedItem(): any { @@ -110,6 +106,8 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { public ngAfterViewInit(): void { this.refreshEventListeners(); this.updateValidity(); + // subscribe to "refresh" event passed indirectly by FormulairePbCloison (change upstream/downstream basin) + this.pbSchema.addObserver(this); } /** Add click listener on every node and link in the graph */ @@ -122,6 +120,19 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { }); } + // debug + private createStructure(l: LoiDebit, v: number[]): Structure { + const s: Structure = CreateStructure(l); + s.prms.Q.singleValue = v[0]; + s.prms.ZDV.singleValue = v[1]; + s.prms.Z1.singleValue = v[2]; + s.prms.Z2.singleValue = v[3]; + s.getParameter("L").singleValue = v[4]; + s.getParameter("CdGR").singleValue = v[5]; + s.prms.W.singleValue = v[6]; + return s; + } + /** * Builds a Mermaid graph text definition, using Nodes * to represent basins as well as walls; sorts connexions @@ -161,17 +172,89 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25))); this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10))); this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin)); + // Session.getInstance().createNub(p, this.currentNub as ParallelStructure) as Structure + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.30, 0, 0, 0.4, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 4.40, 1.04 ]) + ); + // Wall between upstream and basin 2 this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.00, 0, 0, 1.00, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.00, 0.91 ]) + ); + // Wall between upstream and basin 5 this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.50, 0.99 ]) + ); + // Wall between upstream and basin 6 this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.60, 0.99 ]) + ); + // Wall between basin 1 & 3 this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.00, 0, 0, 0.40, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.20, 0.99 ]) + ); + // Wall between basin 2 & 3 this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 4.38, 0.91 ]) + ); + // Wall between basin 2 & 4 this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 3.00, 0.99 ]) + ); + // Wall between basin 2 & 5 this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.50, 0, 0, 1.00, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.75, 0, 0, 3.00, 0.99 ]) + ); + // Wall between basin 3 & 4 this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.70, 0, 0, 0.40, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.65, 0, 0, 5.74, 0.99 ]) + ); + // Wall between basin 4 & 5 this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.40, 0, 0, 0.40, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.35, 0, 0, 6.00, 0.99 ]) + ); + // Wall between basin 5 & 6 this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.25, 0, 0, 0.70, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.05, 0, 0, 9.50, 0.99 ]) + ); + // Wall between basin 6 & downstream this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined)); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.10, 0, 0, 0.95, 1.04 ]) + ); + this.model.children[this.model.children.length - 1].addChild( + this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.75, 0, 0, 10.20, 0.99 ]) + ); } const sortedWalls: PbCloison[] = []; @@ -239,7 +322,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { const sommeA = a.bassinAmont.findPositionInParent() + a.bassinAval.findPositionInParent(); const sommeB = b.bassinAmont.findPositionInParent() + b.bassinAval.findPositionInParent(); return (sommeA <= sommeB ? -1 : 1); - }; + } private selectNode(item: any) { // highlight clicked element @@ -249,13 +332,9 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { if ([ this.upstreamId, this.downstreamId ].includes(item.id)) { this._selectedItem = undefined; } else { - for (const b of this.model.children) { - if (b.uid === item.id) { - this._selectedItem = b; - } - } + this._selectedItem = this.model.findChild(item.id); } - // show proper form, hide results + // show proper form and hide results this.nodeSelected.emit({ node: this._selectedItem }); @@ -315,7 +394,9 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { private findBasinPosition(basin: PbBassin): number { let i = 0; for (const b of this.model.bassins) { - if (b === basin) break; + if (b === basin) { + break; + } i++; } return i; @@ -347,10 +428,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { /** Copies a wall */ public onCopyClick() { - const wall = this._selectedItem as PbCloison + const wall = this._selectedItem as PbCloison; const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval); this.model.addChild(wallCopy); - this.unselect(); + this.unselect(); // @TODO select new wall ? this.refresh(); } @@ -361,7 +442,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { /** Adds a new lone basin */ public onAddBasinClick() { this.model.addChild(new PbBassin(new PbBassinParams(20, 99))); - this.unselect(); + this.unselect(); // @TODO select new basin ? this.refresh(); } @@ -424,6 +505,18 @@ export class PbSchemaComponent implements AfterViewInit, OnInit { private unselect() { this._selectedItem = undefined; this.clearHighlightedItems(); + this.nodeSelected.emit({}); // nothing selected + } + + // interface Observer + + public update(sender: IObservable, data: any) { + if (sender instanceof PbSchema) { + if (data.action === "refresh") { + this.unselect(); + this.refresh(); + } + } } } diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index dd6797765..cf5fa11d2 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -272,6 +272,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs break; case "template_container": + console.log("parsing template container !", conf); this.parse_template_container(conf, templates); break; diff --git a/src/app/formulaire/definition/form-parallel-structures.ts b/src/app/formulaire/definition/form-parallel-structures.ts index 6e238dd76..c985f288b 100644 --- a/src/app/formulaire/definition/form-parallel-structures.ts +++ b/src/app/formulaire/definition/form-parallel-structures.ts @@ -98,7 +98,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { } protected get fieldsetContainer(): FieldsetContainer { - const n = this.getFormulaireNodeById("struct_container"); + const n = this.getFormulaireNodeById("struct_container"); // @TODO make it generic, do not force ID ! if (n === undefined || !(n instanceof FieldsetContainer)) { throw new Error("l'élément 'struct_container' n'est pas du type FieldsetContainer"); } diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts new file mode 100644 index 000000000..5ea0bc823 --- /dev/null +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -0,0 +1,74 @@ +import { FormulaireParallelStructure } from "./form-parallel-structures"; +import { SelectFieldNub } from "../elements/select-field-nub"; + +import { IObservable, Nub, PbCloison, PbBassin } from "jalhyd"; + +export class FormulairePbCloison extends FormulaireParallelStructure { + + /** id of select configuring upstream basin Nub */ + private _upstreamBasinSelectId: string; + + /** id of select configuring downstream basin Nub */ + private _downstreamBasinSelectId: string; + + protected parseOptions(json: {}) { + super.parseOptions(json); + this._upstreamBasinSelectId = this.getOption(json, "upstreamBasinSelectId"); + this._downstreamBasinSelectId = this.getOption(json, "downstreamBasinSelectId"); + } + + protected completeParse(json: {}, firstNotif: boolean = true) { + super.completeParse(json); + if (this._upstreamBasinSelectId) { + const sel = this.getFormulaireNodeById(this._upstreamBasinSelectId); + if (sel) { + sel.addObserver(this); + if (firstNotif) { + // force 1st observation + (sel as SelectFieldNub).notifySelectValueChanged(); + } + } + } + if (this._downstreamBasinSelectId) { + const sel = this.getFormulaireNodeById(this._downstreamBasinSelectId); + if (sel) { + sel.addObserver(this); + if (firstNotif) { + // force 1st observation + (sel as SelectFieldNub).notifySelectValueChanged(); + } + } + } + } + + // interface Observer + + public update(sender: IObservable, data: any) { + // copied from FormDefinition, to avoid calling super.update() + if (sender instanceof Nub) { + switch (data.action) { + case "resultUpdated": + // forward Nub results update notification to FormCompute objects + this.reaffectResultComponents(); + break; + } + } + // copied from FormFixedVar, to avoid calling super.update() + if (data.action === "propertyChange") { + this.reset(); + } + + if (sender instanceof SelectFieldNub) { + const nub = this._currentNub as PbCloison; + const pb = nub.parent; + // empty "" data.value.value should return undefined, which is good for amont/aval + const newBasin = pb.findChild(data.value.value) as PbBassin; + if (sender.id === this._upstreamBasinSelectId) { + nub.bassinAmont = newBasin; + } else if (sender.id === this._downstreamBasinSelectId) { + nub.bassinAval = newBasin; + } + this.notifyObservers({ action: "updateBasin" }, this); + } + } +} diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index d15c13b37..95d4ee703 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -1,8 +1,10 @@ -import { CalculatorType } from "jalhyd"; +import { CalculatorType, PbBassin, PbCloison, IObservable } from "jalhyd"; import { FormulaireFixedVar } from "./form-fixedvar"; -import { FormulaireParallelStructure } from "./form-parallel-structures"; import { PbSchema } from "../elements/pb-schema"; +import { FormulaireDefinition } from "./form-definition"; +import { ServiceFactory } from "../../services/service-factory"; +import { FormulairePbCloison } from "./form-pb-cloison"; /** * Formulaire pour les PréBarrage @@ -15,27 +17,16 @@ export class FormulairePrebarrage extends FormulaireFixedVar { /** child form for basins dimensions */ private basinForm: FormulaireFixedVar; + /** configuration for re-creating basin form every time needed */ + private basinFormConfig: string; + /** child form for walls (repeatable devices) */ - private wallForm: FormulaireParallelStructure; - - public constructor() { - super(); - console.log("Construction du FormPreBarrage !!"); - this.riverForm = new FormulaireFixedVar(); - this.riverForm.defaultProperties["calcType"] = CalculatorType.PreBarrage; - this.basinForm = new FormulaireFixedVar(); - this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin; - this.wallForm = new FormulaireParallelStructure(); - this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; - } + private wallForm: FormulairePbCloison; - protected parseOptions(json: {}) { - // super.parseOptions(json); - // @TODO parse children forms configs - } + /** configuration for re-creating wall form every time needed */ + private wallFormConfig: string; public parseConfig(json?: {}) { - console.log("> parse confaïgue"); if (json !== undefined) { this._jsonConfig = json; } @@ -64,25 +55,28 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } private parse_subform(json: {}) { - console.log("parse sf", json); switch (json["id"]) { case "subform_river": + // parse it and build it once then keep it (it always has the same Nub: PreBarrage) + this.riverForm = new FormulaireFixedVar(); + this.riverForm.defaultProperties["calcType"] = CalculatorType.PreBarrage; this.riverForm.currentNub = this.currentNub; + this.riverForm.preparseConfig(json["config"]); this.riverForm.parseConfig(json["config"]); + this.kids.push(this.riverForm); + // show default form + this.showFormElements(this.riverForm); break; case "subform_basin": - // this.basinForm.currentNub = this.currentNub; - this.basinForm.parseConfig(json["config"]); + // only store config to create it multiple times on demand + this.basinFormConfig = json["config"]; break; case "subform_wall": - // this.wallForm.currentNub = this.currentNub; - this.wallForm.parseConfig(json["config"]); + // same as above + console.log("===> storing wall form config", json["config"]); + this.wallFormConfig = json["config"]; break; } - // console.log(">> triggering parsing of new subform", subform.constructor.name, subform.uid); - // subform.parseConfig(json); - // this.kids.push(subform); - // f.defaultProperties["calcType"] = ct; } private parse_pb_schema(json: {}) { @@ -91,26 +85,59 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.kids.push(sch); } - protected completeParse(json: {}, firstNotif: boolean = true) { - // super.completeParse(json); - // @TODO parse children forms configs + public nodeSelected(node: PbBassin | PbCloison) { + // show only the relevant form + if (node === undefined) { + this.showFormElements(this.riverForm); + + } else if (node instanceof PbBassin) { + this.basinForm = new FormulaireFixedVar(); + this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin; + this.basinForm.currentNub = node; + this.basinForm.preparseConfig(this.basinFormConfig); + this.basinForm.parseConfig(this.basinFormConfig); + ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.basinForm); + this.showFormElements(this.basinForm); + + } else if (node instanceof PbCloison) { + this.wallForm = new FormulairePbCloison(); + this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; + this.wallForm.currentNub = node; + this.wallForm.preparseConfig(this.wallFormConfig); + this.wallForm.parseConfig(this.wallFormConfig); + this.wallForm.addObserver(this); // subscribe to upstream/downstream basin change + ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm); + this.showFormElements(this.wallForm); + } + } + + /** + * Adds all elements of given Formulaire f to the current form, right + * after the PbSchema, replacing any other element already present + * @param f Formulaire to display + */ + private showFormElements(f: FormulaireDefinition) { + // clear all kids except PbSchema + this._kids = [ this.kids[0] ]; + for (const e of f.kids) { + this.kids.push(e); + } + } + + private refreshSchema() { + const pbs = this.kids[0] as PbSchema; + pbs.refresh(); } // interface Observer - /* public update(sender: IObservable, data: any) { - // copied from FormDefinition, to avoid calling super.update() - if (sender instanceof Nub) { - switch (data.action) { - case "resultUpdated": - // forward Nub results update notification to FormCompute objects - this.reaffectResultComponents(); - break; + public update(sender: IObservable, data: any) { + super.update(sender, data); + if (sender instanceof FormulairePbCloison) { + // console.log("HOH PUTAIN CE BIG QUATTRO HOYOYOYOYOY", this.kids[0].constructor.name); + if (data.action === "updateBasin") { + this.refreshSchema(); } } - // copied from FormFixedVar, to avoid calling super.update() - if (data.action === "propertyChange") { - this.reset(); - } - } */ + } } diff --git a/src/app/formulaire/elements/formulaire-node.ts b/src/app/formulaire/elements/formulaire-node.ts index cffa97d86..c8085eccb 100644 --- a/src/app/formulaire/elements/formulaire-node.ts +++ b/src/app/formulaire/elements/formulaire-node.ts @@ -22,7 +22,7 @@ export abstract class FormulaireNode implements IObservable { private _parentNode: FormulaireNode; /** enfants (utilisé entre autres pour FormulaireDefinition, FieldSet et FieldsetContainer) */ - private _kids: FormulaireNode[]; + protected _kids: FormulaireNode[]; /** implémentation par délégation de IObservable */ private _observable: Observable; diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts index 5be43f62f..94a7d452a 100644 --- a/src/app/formulaire/elements/pb-schema.ts +++ b/src/app/formulaire/elements/pb-schema.ts @@ -22,4 +22,9 @@ export class PbSchema extends FormulaireElement { return this.parentForm.currentNub as PreBarrage; } } + + /** Asks PbSchemaComponent to redraw the schema */ + public refresh() { + this.notifyObservers({ action: "refresh" }, this); + } } diff --git a/src/app/formulaire/elements/select-field-nub.ts b/src/app/formulaire/elements/select-field-nub.ts index 3cbcf0720..d4975c714 100644 --- a/src/app/formulaire/elements/select-field-nub.ts +++ b/src/app/formulaire/elements/select-field-nub.ts @@ -3,7 +3,7 @@ import { SelectEntry } from "./select-entry"; import { ServiceFactory } from "../../services/service-factory"; import { decodeHtml } from "../../util"; -import { Session, Solveur } from "jalhyd"; +import { Session, Solveur, PbCloison, PreBarrage } from "jalhyd"; /** * A select field that populates itself with references to Nubs @@ -12,12 +12,32 @@ export class SelectFieldNub extends SelectFieldReference { protected initSelectedValue() { const nub = this.parentForm.currentNub; - if (nub instanceof Solveur) { + if (nub instanceof Solveur) { // Solveur, module cible (à calculer) const ntc = nub.nubToCalculate; if (ntc !== undefined) { this.setValueFromId(this._entriesBaseId + ntc.uid); } } + if (nub instanceof PbCloison) { // PreBarrage, PbCloison + switch (this._source) { + case "upstream_basin": + const ub = nub.bassinAmont; + let idUb = ""; + if (ub !== undefined) { + idUb = ub.uid; + } + this.setValueFromId(this._entriesBaseId + idUb); + break; + case "downstream_basin": + const db = nub.bassinAval; + let idDb = ""; + if (db !== undefined) { + idDb = db.uid; + } + this.setValueFromId(this._entriesBaseId + idDb); + break; + } + } } /** @@ -50,6 +70,34 @@ export class SelectFieldNub extends SelectFieldReference { } } break; + + case "upstream_basin": // PreBarrage, PbCloison, bassin amont + const ubNub = this.parentForm.currentNub as PbCloison; + const upPb: PreBarrage = ubNub.parent; + // add river upstream + this.addEntry(new SelectEntry(this._entriesBaseId, "", "Amont")); + // add all basins up the current downstream_basin + const dbPos = (ubNub.bassinAval === undefined ? upPb.bassins.length : ubNub.bassinAval.findPositionInParent()); + for (let i = 0; i < dbPos; i++) { + const label = "Bassin n°" + (i + 1); + const b = upPb.bassins[i]; + this.addEntry(new SelectEntry(this._entriesBaseId + b.uid, b.uid, decodeHtml(label))); + } + break; + + case "downstream_basin": // PreBarrage, PbCloison, bassin aval + const dbNub = this.parentForm.currentNub as PbCloison; + const dbPb: PreBarrage = dbNub.parent; + // find all basins down the current upstream_basin + const ubPos = (dbNub.bassinAmont === undefined ? -1 : dbNub.bassinAmont.findPositionInParent()); + for (let i = ubPos + 1; i < dbPb.bassins.length; i++) { + const label = "Bassin n°" + (i + 1); + const b = dbPb.bassins[i]; + this.addEntry(new SelectEntry(this._entriesBaseId + b.uid, b.uid, decodeHtml(label))); + } + // add river downstream + this.addEntry(new SelectEntry(this._entriesBaseId, "", "Aval")); + break; } } -- GitLab From 5b63377c8b0e93b98d1f873a7d10713c3b9ad43a Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 11 Jun 2020 14:42:27 +0200 Subject: [PATCH 059/117] PreBarrage: move "standalone" basins --- .../pb-schema/pb-schema.component.html | 13 ++++- .../pb-schema/pb-schema.component.ts | 55 ++++++++++++++++++- src/locale/messages.en.json | 2 + src/locale/messages.fr.json | 2 + 4 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index f8bb9bbc0..b9314c653 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -21,13 +21,20 @@ {{ prefixedItemDescription }} </span> <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()" - [title]="uitextCopy"> - <mat-icon>content_copy</mat-icon> - </button> + [title]="uitextCopy"> + <mat-icon>content_copy</mat-icon> + </button> + | <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()" [title]="uitextRemove"> <mat-icon>delete</mat-icon> </button> + <button type="button" mat-icon-button [disabled]="! enableUpButton" (click)="onMoveBasinUpClick()" [title]="uitextMoveBasinUp"> + <mat-icon>arrow_upward</mat-icon> + </button> + <button type="button" mat-icon-button [disabled]="! enableDownButton" (click)="onMoveBasinDownClick()" [title]="uitextMoveBasinDown"> + <mat-icon>arrow_downward</mat-icon> + </button> <!-- | <button type="button" mat-icon-button color="primary" (click)="exportAsSpreadsheet()" diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 7249b6929..695243eab 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -480,11 +480,64 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni }); } - public get uitextAddWall() { return this.i18nService.localizeText("INFO_PB_ADD_WALL"); } + public get enableUpButton() { + return ( + this._selectedItem instanceof PbBassin + && this.findBasinPosition(this._selectedItem) !== 0 + && this.isStandaloneBasin(this._selectedItem) + ); + } + + public onMoveBasinUpClick() { + if (this._selectedItem instanceof PbBassin) { + this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) - 1); + } + this.refresh(); + } + + public get uitextMoveBasinUp() { + return this.i18nService.localizeText("INFO_PB_MOVE_BASIN_UP"); + } + + public get enableDownButton() { + return ( + this._selectedItem instanceof PbBassin + && this.findBasinPosition(this._selectedItem) !== this.model.bassins.length - 1 + && this.isStandaloneBasin(this._selectedItem) + ); + } + + public onMoveBasinDownClick() { + if (this._selectedItem instanceof PbBassin) { + this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) + 1); + } + this.refresh(); + } + + public get uitextMoveBasinDown() { + return this.i18nService.localizeText("INFO_PB_MOVE_BASIN_DOWN"); + } + + /** + * Returns true if given basin is either connected to nothing, or only to + * river upstream or downstream + */ + private isStandaloneBasin(basin: PbBassin) { + return ( + ( + basin.cloisonsAmont.length === 0 + || basin.cloisonsAmont.map(c => c.bassinAmont).every(e => e === undefined) + ) && ( + basin.cloisonsAval.length === 0 + || basin.cloisonsAval.map(c => c.bassinAval).every(e => e === undefined) + ) + ); + } + /** * Computes the global Pab validity : validity of every cell of every row */ diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index cd129d423..4b536c864 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -438,6 +438,8 @@ "INFO_PB_ADD_WALL": "Add new wall", "INFO_PB_BASSIN_N": "Basin #", "INFO_PB_CLOISON": "Wall", + "INFO_PB_MOVE_BASIN_UP": "Move basin up", + "INFO_PB_MOVE_BASIN_DOWN": "Move basin down", "INFO_PB_NEW_WALL_SELECT_BASINS": "Select basins to connect", "INFO_PB_NEW_WALL_UP_BASIN": "upstream basin", "INFO_PB_NEW_WALL_DOWN_BASIN": "Downstream basin", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index eb375924f..3a4f04769 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -438,6 +438,8 @@ "INFO_PB_ADD_WALL": "Ajouter une cloison", "INFO_PB_BASSIN_N": "Bassin n°", "INFO_PB_CLOISON": "Cloison", + "INFO_PB_MOVE_BASIN_UP": "Déplacer le bassin vers le haut", + "INFO_PB_MOVE_BASIN_DOWN": "Déplacer le bassin vers le bas", "INFO_PB_NEW_WALL_SELECT_BASINS": "Choisir les bassins à connecter", "INFO_PB_NEW_WALL_UP_BASIN": "Bassin amont", "INFO_PB_NEW_WALL_DOWN_BASIN": "Bassin aval", -- GitLab From 696e0c119716f999b70660d2e330508afeaaa107 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 11 Jun 2020 15:01:00 +0200 Subject: [PATCH 060/117] PreBarrage: enhance node selection on schema --- .../pb-schema/pb-schema.component.ts | 31 +++++++++++++++++-- .../formulaire/definition/form-pb-cloison.ts | 5 ++- .../formulaire/definition/form-prebarrage.ts | 6 ++-- src/app/formulaire/elements/pb-schema.ts | 7 +++-- 4 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 695243eab..25cee4728 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -391,6 +391,17 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni return desc; } + /** + * Selects and highlights on the schema the given wall or basin + */ + private selectNodeOnSchema(element: PbBassin | PbCloison) { + this.nativeElement.querySelectorAll("g.node").forEach(item => { + if (item.id === element.uid) { + this.selectNode(item); + } + }); + } + private findBasinPosition(basin: PbBassin): number { let i = 0; for (const b of this.model.bassins) { @@ -431,8 +442,9 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni const wall = this._selectedItem as PbCloison; const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval); this.model.addChild(wallCopy); - this.unselect(); // @TODO select new wall ? + this.unselect(); this.refresh(); + this.selectNodeOnSchema(wallCopy); } public get uitextCopy() { @@ -441,9 +453,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni /** Adds a new lone basin */ public onAddBasinClick() { - this.model.addChild(new PbBassin(new PbBassinParams(20, 99))); - this.unselect(); // @TODO select new basin ? + const newBasin = new PbBassin(new PbBassinParams(20, 99)); + this.model.addChild(newBasin); + this.unselect(); this.refresh(); + this.selectNodeOnSchema(newBasin); } public get uitextAddBasin() { @@ -476,6 +490,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.model.addChild(wall); this.unselect(); this.refresh(); + this.selectNodeOnSchema(wall); } }); } @@ -496,7 +511,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni if (this._selectedItem instanceof PbBassin) { this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) - 1); } + const basin = this._selectedItem; + this.unselect(); this.refresh(); + this.selectNodeOnSchema(basin); } public get uitextMoveBasinUp() { @@ -515,7 +533,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni if (this._selectedItem instanceof PbBassin) { this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) + 1); } + const basin = this._selectedItem; + this.unselect(); this.refresh(); + this.selectNodeOnSchema(basin); } public get uitextMoveBasinDown() { @@ -568,6 +589,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni if (data.action === "refresh") { this.unselect(); this.refresh(); + // select a node on the schema ? + if (data.value !== undefined) { + this.selectNodeOnSchema(this.model.findChild(data.value)); + } } } } diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index 5ea0bc823..d448f6a99 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -68,7 +68,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure { } else if (sender.id === this._downstreamBasinSelectId) { nub.bassinAval = newBasin; } - this.notifyObservers({ action: "updateBasin" }, this); + this.notifyObservers({ + action: "updateBasin", + value: nub.uid // node to select on the schema + }, this); } } } diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 95d4ee703..dd175247a 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -124,9 +124,9 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } } - private refreshSchema() { + private refreshSchema(nodeUidToSelect: string) { const pbs = this.kids[0] as PbSchema; - pbs.refresh(); + pbs.refresh(nodeUidToSelect); } // interface Observer @@ -136,7 +136,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { if (sender instanceof FormulairePbCloison) { // console.log("HOH PUTAIN CE BIG QUATTRO HOYOYOYOYOY", this.kids[0].constructor.name); if (data.action === "updateBasin") { - this.refreshSchema(); + this.refreshSchema(data.value); } } } diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts index 94a7d452a..07e108890 100644 --- a/src/app/formulaire/elements/pb-schema.ts +++ b/src/app/formulaire/elements/pb-schema.ts @@ -24,7 +24,10 @@ export class PbSchema extends FormulaireElement { } /** Asks PbSchemaComponent to redraw the schema */ - public refresh() { - this.notifyObservers({ action: "refresh" }, this); + public refresh(nodeUidToSelect: string) { + this.notifyObservers({ + action: "refresh", + value: nodeUidToSelect + }, this); } } -- GitLab From 43ac184ad8b45a3e3d0b8af1b2ac6f58a0181c08 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 22 Jun 2020 16:46:47 +0200 Subject: [PATCH 061/117] PreBarrage: move walls --- .../select-model-field-line.component.ts | 2 +- .../formulaire/definition/form-definition.ts | 1 - .../formulaire/definition/form-pb-cloison.ts | 26 ++++++++++--------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/app/components/select-model-field-line/select-model-field-line.component.ts b/src/app/components/select-model-field-line/select-model-field-line.component.ts index f88877835..fdf8af949 100644 --- a/src/app/components/select-model-field-line/select-model-field-line.component.ts +++ b/src/app/components/select-model-field-line/select-model-field-line.component.ts @@ -80,7 +80,7 @@ export class SelectModelFieldLineComponent implements OnInit { public async createModel() { const f = await this._formService.createFormulaire(this._select.calcType); this.router.navigate(["/calculator", f.uid]); - // on ajoute un ouvrage aux modulex de type "parallèle" + // on ajoute un ouvrage aux modules de type "parallèle" for (const e of f.allFormElements) { if (e instanceof FieldsetContainer) { e.addFromTemplate(0); diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index cf5fa11d2..dd6797765 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -272,7 +272,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs break; case "template_container": - console.log("parsing template container !", conf); this.parse_template_container(conf, templates); break; diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index d448f6a99..90ac294ec 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -17,26 +17,18 @@ export class FormulairePbCloison extends FormulaireParallelStructure { this._downstreamBasinSelectId = this.getOption(json, "downstreamBasinSelectId"); } - protected completeParse(json: {}, firstNotif: boolean = true) { + protected completeParse(json: {}) { super.completeParse(json); if (this._upstreamBasinSelectId) { const sel = this.getFormulaireNodeById(this._upstreamBasinSelectId); if (sel) { sel.addObserver(this); - if (firstNotif) { - // force 1st observation - (sel as SelectFieldNub).notifySelectValueChanged(); - } } } if (this._downstreamBasinSelectId) { const sel = this.getFormulaireNodeById(this._downstreamBasinSelectId); if (sel) { sel.addObserver(this); - if (firstNotif) { - // force 1st observation - (sel as SelectFieldNub).notifySelectValueChanged(); - } } } } @@ -64,13 +56,23 @@ export class FormulairePbCloison extends FormulaireParallelStructure { // empty "" data.value.value should return undefined, which is good for amont/aval const newBasin = pb.findChild(data.value.value) as PbBassin; if (sender.id === this._upstreamBasinSelectId) { - nub.bassinAmont = newBasin; + // remove and recreate wall (easier for pointers consistency) + const oldDownstreamBasin = nub.bassinAval; + pb.deleteChild(pb.findChildPosition(nub.uid)); + const newWall = new PbCloison(newBasin, oldDownstreamBasin); + pb.addChild(newWall); + this.currentNub = newWall; } else if (sender.id === this._downstreamBasinSelectId) { - nub.bassinAval = newBasin; + // remove and recreate wall (easier for pointers consistency) + const oldUpstreamBasin = nub.bassinAmont; + pb.deleteChild(pb.findChildPosition(nub.uid)); + const newWall = new PbCloison(oldUpstreamBasin, newBasin); + pb.addChild(newWall); + this.currentNub = newWall; } this.notifyObservers({ action: "updateBasin", - value: nub.uid // node to select on the schema + value: this._currentNub.uid // node to select on the schema }, this); } } -- GitLab From 8b0a684e70656ed41a8bff5421600acad9740def Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Tue, 26 May 2020 09:59:17 +0200 Subject: [PATCH 062/117] Work on GUI for Prebarrage --- src/app/formulaire/definition/form-definition.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index dd6797765..e37c8cd0c 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -24,6 +24,7 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera import { CalculatorResults } from "../../results/calculator-results"; import { ServiceFactory } from "../../services/service-factory"; import { PabTable } from "../elements/pab-table"; +import { PbSchema } from '../elements/pb-schema'; /** * classe de base pour tous les formulaires @@ -222,6 +223,13 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.kids.push(tab); } + private parse_pb_schema(json: {}) { + const sch: PbSchema = new PbSchema(this); + sch.parseConfig(json); + this.kids.push(sch); + } + + /** * 1ère passe d'analyse de la configuration */ @@ -279,6 +287,10 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.parse_pab_table(conf); break; + case "pb_schema": // not generic at all + this.parse_pb_schema(conf); + break; + default: throw new Error(`type d'objet de module de calcul ${type} non pris en charge`); } -- GitLab From cc0db7e95d090fb3cf90e358dfd6f1be4946a5e5 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 11:32:07 +0200 Subject: [PATCH 063/117] PreBarrage: sort graph nodes to prevent lines crossings --- src/app/components/pb-schema/pb-schema.component.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 25cee4728..cd7ad1415 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -266,6 +266,12 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni // store, to draw later sortedWalls.push(c); } + this.existingWalls[basinsPair]++; + // draw wall Node + def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges + def.push(`class ${c.uid} wall;`); + // draw "arrow" with 2 lines + def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`); } // sort then draw walls sortedWalls.sort(this.triCloisonsGaucheDroite); -- GitLab From 7f1a005f2495e9ccb4aedaae1aaab4d295ac61f4 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 14:04:17 +0200 Subject: [PATCH 064/117] PreBarrage: show data or results on the right side, not both --- src/app/components/pb-schema/pb-schema.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index b9314c653..dc5af67fa 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -46,6 +46,6 @@ <div id="schema" #schema></div> - <pre id="debug">{{ graphDef }} </pre> + <!-- <pre id="debug">{{ graphDef }} </pre> --> </mat-card-content> -- GitLab From 04b07e1a72fed1fd1c9d981ab2df6790753b0be6 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 8 Jun 2020 17:02:14 +0200 Subject: [PATCH 065/117] [WIP] subform system for PreBarrage --- .../components/pb-schema/pb-schema.component.html | 2 +- src/app/formulaire/definition/form-definition.ts | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html index dc5af67fa..b9314c653 100644 --- a/src/app/components/pb-schema/pb-schema.component.html +++ b/src/app/components/pb-schema/pb-schema.component.html @@ -46,6 +46,6 @@ <div id="schema" #schema></div> - <!-- <pre id="debug">{{ graphDef }} </pre> --> + <pre id="debug">{{ graphDef }} </pre> </mat-card-content> diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index e37c8cd0c..dd6797765 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -24,7 +24,6 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera import { CalculatorResults } from "../../results/calculator-results"; import { ServiceFactory } from "../../services/service-factory"; import { PabTable } from "../elements/pab-table"; -import { PbSchema } from '../elements/pb-schema'; /** * classe de base pour tous les formulaires @@ -223,13 +222,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.kids.push(tab); } - private parse_pb_schema(json: {}) { - const sch: PbSchema = new PbSchema(this); - sch.parseConfig(json); - this.kids.push(sch); - } - - /** * 1ère passe d'analyse de la configuration */ @@ -287,10 +279,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.parse_pab_table(conf); break; - case "pb_schema": // not generic at all - this.parse_pb_schema(conf); - break; - default: throw new Error(`type d'objet de module de calcul ${type} non pris en charge`); } -- GitLab From 6e0e8cf98bc0ca1867e15c0e5c9d5c41da431c74 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 9 Jun 2020 11:07:27 +0200 Subject: [PATCH 066/117] Updated dependencies --- package-lock.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 66fb309ce..fa716b7a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -669,10 +669,16 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true }, "source-map": { -- GitLab From cfbfd5fa43b225a5e3c474a2dae6d61a5237ddff Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 9 Jun 2020 12:25:47 +0200 Subject: [PATCH 067/117] PreBarrage: change form on graph click, edit walls --- src/app/components/pb-schema/pb-schema.component.ts | 2 +- src/app/formulaire/definition/form-definition.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index cd7ad1415..8b25d56a4 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -448,7 +448,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni const wall = this._selectedItem as PbCloison; const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval); this.model.addChild(wallCopy); - this.unselect(); + this.unselect(); // @TODO select new wall ? this.refresh(); this.selectNodeOnSchema(wallCopy); } diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index dd6797765..cf5fa11d2 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -272,6 +272,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs break; case "template_container": + console.log("parsing template container !", conf); this.parse_template_container(conf, templates); break; -- GitLab From 5e0e7a84bc6462b02e772b0bbcad3dfba48e5e23 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 11 Jun 2020 15:01:00 +0200 Subject: [PATCH 068/117] PreBarrage: enhance node selection on schema --- src/app/components/pb-schema/pb-schema.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 8b25d56a4..cd7ad1415 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -448,7 +448,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni const wall = this._selectedItem as PbCloison; const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval); this.model.addChild(wallCopy); - this.unselect(); // @TODO select new wall ? + this.unselect(); this.refresh(); this.selectNodeOnSchema(wallCopy); } -- GitLab From e749277ddc230307b058f5479b4404ec1037f68c Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 22 Jun 2020 16:46:47 +0200 Subject: [PATCH 069/117] PreBarrage: move walls --- src/app/formulaire/definition/form-definition.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index cf5fa11d2..dd6797765 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -272,7 +272,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs break; case "template_container": - console.log("parsing template container !", conf); this.parse_template_container(conf, templates); break; -- GitLab From e8935925cadbae80cd5da5d9859226300fe7845e Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 23 Jun 2020 16:38:00 +0200 Subject: [PATCH 070/117] [WIP] PbCloison form --- .../formulaire/definition/form-prebarrage.ts | 20 ++++++++++++++++++- src/app/formulaire/elements/select-field.ts | 10 +++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index dd175247a..7d69abf7a 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -5,6 +5,7 @@ import { PbSchema } from "../elements/pb-schema"; import { FormulaireDefinition } from "./form-definition"; import { ServiceFactory } from "../../services/service-factory"; import { FormulairePbCloison } from "./form-pb-cloison"; +import { FieldsetContainer } from "../elements/fieldset-container"; /** * Formulaire pour les PréBarrage @@ -100,12 +101,29 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.showFormElements(this.basinForm); } else if (node instanceof PbCloison) { + console.log("---------------> new wall form !!"); this.wallForm = new FormulairePbCloison(); this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; this.wallForm.currentNub = node; this.wallForm.preparseConfig(this.wallFormConfig); this.wallForm.parseConfig(this.wallFormConfig); - this.wallForm.addObserver(this); // subscribe to upstream/downstream basin change + // add fieldsets for existing Structures + console.log(`Node ${node.uid} : ${node.structures.length} structures, Form ${this.uid} : ${this._kids.length} form elements`); + if (node.structures.length > 0) { + console.log(">> adding fieldsets for existing structures"); + for (const struct of node.structures) { + for (const e of this.allFormElements) { + if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? + e.addFromTemplate(0, undefined, struct); + } + } + } + } else { + // if there was no existing structure, add a default one ! @TODO + console.log("TODO add default structure"); + } + // subscribe to upstream/downstream basin change + this.wallForm.addObserver(this); ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm); this.showFormElements(this.wallForm); } diff --git a/src/app/formulaire/elements/select-field.ts b/src/app/formulaire/elements/select-field.ts index d92d48f46..2557eb0f6 100644 --- a/src/app/formulaire/elements/select-field.ts +++ b/src/app/formulaire/elements/select-field.ts @@ -5,7 +5,8 @@ import { StructureType, LoiDebit, Session, - Solveur + Solveur, + StructureProperties } from "jalhyd"; import { Field } from "./field"; @@ -191,9 +192,12 @@ export class SelectField extends Field { case "device_loi_debit": // get current structure type from appropriate Nub child const child = nub.getChildren()[this.parent.indexAsKid()]; - const cst = child.properties.getPropValue("structureType"); const la = (nub as ParallelStructure).getLoisAdmissibles(); - const stName = StructureType[cst]; + const loiDebit = child.properties.getPropValue("loiDebit"); + const stCode = StructureProperties.findCompatibleStructure(loiDebit, nub as ParallelStructure); + const stName = StructureType[stCode]; + // console.log(`__device_loi_debit__ : child=${child.constructor.name}, loiDebit=${loiDebit}, stCode=${stCode}, stName=${stName}`); + // console.log("(child.properties)", child.properties.props); for (const ld of la[stName]) { const e: SelectEntry = new SelectEntry(this._entriesBaseId + stName + "_" + LoiDebit[ld], ld); this.addEntry(e); -- GitLab From 10dac40996ca8365ae38095a2f18435d02b8ea49 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 24 Jun 2020 15:51:29 +0200 Subject: [PATCH 071/117] PreBarrage: fix bug in basin number detection --- .../pb-schema/pb-schema.component.ts | 31 +++++-------------- .../formulaire/elements/select-field-nub.ts | 4 +-- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index cd7ad1415..0dddab78b 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -266,12 +266,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni // store, to draw later sortedWalls.push(c); } - this.existingWalls[basinsPair]++; - // draw wall Node - def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges - def.push(`class ${c.uid} wall;`); - // draw "arrow" with 2 lines - def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`); } // sort then draw walls sortedWalls.sort(this.triCloisonsGaucheDroite); @@ -382,17 +376,17 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni if (item instanceof PbCloison) { const upstreamBasinName = item.bassinAmont === undefined ? this.i18nService.localizeText("INFO_LIB_AMONT") - : "B" + (this.findBasinPosition(item.bassinAmont) + 1); + : "B" + (this.model.findBasinPosition(item.bassinAmont.uid) + 1); const downstreamBasinName = item.bassinAval === undefined ? this.i18nService.localizeText("INFO_LIB_AVAL") - : "B" + (this.findBasinPosition(item.bassinAval) + 1); + : "B" + (this.model.findBasinPosition(item.bassinAval.uid) + 1); desc = upstreamBasinName + "-" + downstreamBasinName; // if a similar wall already exists, suffix ! if (item.uid in this.wallsSuffixes) { desc += " (" + this.wallsSuffixes[item.uid] + ")"; } } else if (item instanceof PbBassin) { - desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.findBasinPosition(item) + 1); + desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.model.findBasinPosition(item.uid) + 1); } // else undefined return desc; } @@ -408,17 +402,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni }); } - private findBasinPosition(basin: PbBassin): number { - let i = 0; - for (const b of this.model.bassins) { - if (b === basin) { - break; - } - i++; - } - return i; - } - // at this time @Input data is supposed to be already populated public ngOnInit() { this.model = this.pbSchema.pb; @@ -508,14 +491,14 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni public get enableUpButton() { return ( this._selectedItem instanceof PbBassin - && this.findBasinPosition(this._selectedItem) !== 0 + && this.model.findBasinPosition(this._selectedItem.uid) !== 0 && this.isStandaloneBasin(this._selectedItem) ); } public onMoveBasinUpClick() { if (this._selectedItem instanceof PbBassin) { - this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) - 1); + this.model.moveBasin(this._selectedItem.uid, this.model.findBasinPosition(this._selectedItem.uid) - 1); } const basin = this._selectedItem; this.unselect(); @@ -530,14 +513,14 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni public get enableDownButton() { return ( this._selectedItem instanceof PbBassin - && this.findBasinPosition(this._selectedItem) !== this.model.bassins.length - 1 + && this.model.findBasinPosition(this._selectedItem.uid) !== this.model.bassins.length - 1 && this.isStandaloneBasin(this._selectedItem) ); } public onMoveBasinDownClick() { if (this._selectedItem instanceof PbBassin) { - this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) + 1); + this.model.moveBasin(this._selectedItem.uid, this.model.findBasinPosition(this._selectedItem.uid) + 1); } const basin = this._selectedItem; this.unselect(); diff --git a/src/app/formulaire/elements/select-field-nub.ts b/src/app/formulaire/elements/select-field-nub.ts index d4975c714..38b92f056 100644 --- a/src/app/formulaire/elements/select-field-nub.ts +++ b/src/app/formulaire/elements/select-field-nub.ts @@ -77,7 +77,7 @@ export class SelectFieldNub extends SelectFieldReference { // add river upstream this.addEntry(new SelectEntry(this._entriesBaseId, "", "Amont")); // add all basins up the current downstream_basin - const dbPos = (ubNub.bassinAval === undefined ? upPb.bassins.length : ubNub.bassinAval.findPositionInParent()); + const dbPos = (ubNub.bassinAval === undefined ? upPb.bassins.length : upPb.findBasinPosition(ubNub.bassinAval.uid)); for (let i = 0; i < dbPos; i++) { const label = "Bassin n°" + (i + 1); const b = upPb.bassins[i]; @@ -89,7 +89,7 @@ export class SelectFieldNub extends SelectFieldReference { const dbNub = this.parentForm.currentNub as PbCloison; const dbPb: PreBarrage = dbNub.parent; // find all basins down the current upstream_basin - const ubPos = (dbNub.bassinAmont === undefined ? -1 : dbNub.bassinAmont.findPositionInParent()); + const ubPos = (dbNub.bassinAmont === undefined ? -1 : dbPb.findBasinPosition(dbNub.bassinAmont.uid)); for (let i = ubPos + 1; i < dbPb.bassins.length; i++) { const label = "Bassin n°" + (i + 1); const b = dbPb.bassins[i]; -- GitLab From e107fdcc962ca1f0d88518b4473f552cd4393f74 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 14 May 2020 11:48:38 +0200 Subject: [PATCH 072/117] Fix #404 - add Cunge (1980) to Walls, update doc --- docs/en/calculators/structures/liste.md | 2 +- docs/fr/calculators/structures/liste.md | 6 +++--- src/app/calculators/cloisons/config.json | 1 + src/app/calculators/cloisons/en.json | 4 ++++ src/app/calculators/cloisons/fr.json | 4 ++++ src/app/calculators/parallelstructure/config.json | 1 + src/app/calculators/parallelstructure/en.json | 4 ++-- src/app/calculators/parallelstructure/fr.json | 4 ++-- src/app/formulaire/elements/formulaire-node.ts | 2 +- src/locale/messages.en.json | 13 ++++++++----- src/locale/messages.fr.json | 13 ++++++++----- 11 files changed, 35 insertions(+), 19 deletions(-) diff --git a/docs/en/calculators/structures/liste.md b/docs/en/calculators/structures/liste.md index 99662c99d..d52496ab7 100644 --- a/docs/en/calculators/structures/liste.md +++ b/docs/en/calculators/structures/liste.md @@ -4,7 +4,7 @@ |---------------------------|----------------:|-------------------------------| | [Weir / orifice Cemagref 88](./cem_88_d.md) | 0.4 | Parallel Structures | | [Weir / undershot gate Cemagref 88](./cem_88_v.md) | 0.6 | Parallel Structures | -| [Cunge 80](./cunge_80.md) | 0.6 | Parallel Structures | +| [Cunge (1980)](./cunge_80.md) | 0.6 | Parallel Structures, Cross walls, Downwall | | [Free flow gate](./vanne_denoyee.md) | 0.6 | Parallel Structures | | [Submerged gate](./vanne_noyee.md) | 0.6 | Parallel Structures | | [Free flow weir](./seuil_denoye.md) | 0.4 | Parallel Structures, Free flow weir stage-discharge laws | diff --git a/docs/fr/calculators/structures/liste.md b/docs/fr/calculators/structures/liste.md index 878a45b6f..b818193a9 100644 --- a/docs/fr/calculators/structures/liste.md +++ b/docs/fr/calculators/structures/liste.md @@ -2,9 +2,9 @@ | Équation | Coefficient de débit par défaut | Disponible dans | |---------------------------|----------------:|-------------------------------| -| [Dévesoir / orifice Cemagref 88](./cem_88_d.md) | 0.4 | Lois d'ouvrages | -| [Dévesoir / vanne de fond Cemagref 88](./cem_88_v.md) | 0.6 | Lois d'ouvrages | -| [Cunge 80](./cunge_80.md) | 0.6 | Lois d'ouvrages | +| [Déversoir / orifice Cemagref 88](./cem_88_d.md) | 0.4 | Lois d'ouvrages | +| [Déversoir / vanne de fond Cemagref 88](./cem_88_v.md) | 0.6 | Lois d'ouvrages | +| [Cunge (1980)](./cunge_80.md) | 1 | Lois d'ouvrages, Cloisons, Cloison aval | | [Vanne dénoyée](./vanne_denoyee.md) | 0.6 | Lois d'ouvrages | | [Vanne noyée](./vanne_noyee.md) | 0.6 | Lois d'ouvrages | | [Seuil dénoyé](./seuil_denoye.md) | 0.4 | Lois d'ouvrages, Lois de déversoirs dénoyés | diff --git a/src/app/calculators/cloisons/config.json b/src/app/calculators/cloisons/config.json index bb5e3cd4f..e8e19e4a6 100644 --- a/src/app/calculators/cloisons/config.json +++ b/src/app/calculators/cloisons/config.json @@ -44,6 +44,7 @@ "CdWSL", "CdWR", "CdGR", + "CdCunge", "CdT", "S", "alpha2", diff --git a/src/app/calculators/cloisons/en.json b/src/app/calculators/cloisons/en.json index 997eae6e8..80f95f219 100644 --- a/src/app/calculators/cloisons/en.json +++ b/src/app/calculators/cloisons/en.json @@ -9,12 +9,16 @@ "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir", "select_structure_Orifice": "Orifice", "select_structure_SeuilRectangulaire": "Rectangular weir", + "select_structure_VanneRectangulaire": "Rectangular gate", + + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)", "select_loidebit_Orifice_OrificeSubmerged": "Submerged orifice", "select_loidebit_Orifice_OrificeFree": "Free orifice", "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)", "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1947", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)", "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "V-notch sharp-crested weir (Villemonte)", "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "V-notch broad-crested weir (Bos)", diff --git a/src/app/calculators/cloisons/fr.json b/src/app/calculators/cloisons/fr.json index c7a58c66e..fd09e504d 100644 --- a/src/app/calculators/cloisons/fr.json +++ b/src/app/calculators/cloisons/fr.json @@ -6,12 +6,16 @@ "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué", "select_structure_Orifice": "Orifice", "select_structure_SeuilRectangulaire": "Seuil rectangulaire", + "select_structure_VanneRectangulaire": "Vanne rectangulaire", + + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)", "select_loidebit_Orifice_OrificeSubmerged": "Orifice noyé", "select_loidebit_Orifice_OrificeFree": "Orifice dénoyé", "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)", "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1947", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)", "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire mince (Villemonte)", "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "Déversoir triangulaire épais (Bos)", diff --git a/src/app/calculators/parallelstructure/config.json b/src/app/calculators/parallelstructure/config.json index 2f2e9cb83..e6f77606e 100644 --- a/src/app/calculators/parallelstructure/config.json +++ b/src/app/calculators/parallelstructure/config.json @@ -52,6 +52,7 @@ "CdWSL", "CdWR", "CdGR", + "CdCunge", "CdT", "CdO", "alpha", diff --git a/src/app/calculators/parallelstructure/en.json b/src/app/calculators/parallelstructure/en.json index 3e2e7fc8e..9b4431705 100644 --- a/src/app/calculators/parallelstructure/en.json +++ b/src/app/calculators/parallelstructure/en.json @@ -13,7 +13,7 @@ "select_loidebit_VanneRectangulaire_GateCem88d": "Weir/Orifice Cemagref 88", "select_loidebit_VanneRectangulaire_GateCem88v": "Weir/Undershot gate Cemagref 88", - "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge 80", + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)", "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Free flow gate", "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Submerged gate", @@ -29,7 +29,7 @@ "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957", "select_loidebit_SeuilRectangulaire_WeirFree": "Free flow weir", "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter and Villemonte", - "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge 80", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)", "UNIT_Q": "m³/s" } diff --git a/src/app/calculators/parallelstructure/fr.json b/src/app/calculators/parallelstructure/fr.json index 75c23e0b1..e4cf67bfb 100644 --- a/src/app/calculators/parallelstructure/fr.json +++ b/src/app/calculators/parallelstructure/fr.json @@ -13,7 +13,7 @@ "select_loidebit_VanneRectangulaire_GateCem88d": "Déversoir/Orifice Cemagref 88", "select_loidebit_VanneRectangulaire_GateCem88v": "Déversoir/Vanne de fond Cemagref 88", - "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge 80", + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)", "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Vanne dénoyée", "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Vanne noyée", @@ -29,7 +29,7 @@ "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957", "select_loidebit_SeuilRectangulaire_WeirFree": "Seuil dénoyé", "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter et Villemonte", - "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge 80", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)", "UNIT_Q": "m³/s" } diff --git a/src/app/formulaire/elements/formulaire-node.ts b/src/app/formulaire/elements/formulaire-node.ts index c8085eccb..af077e121 100644 --- a/src/app/formulaire/elements/formulaire-node.ts +++ b/src/app/formulaire/elements/formulaire-node.ts @@ -143,7 +143,7 @@ export abstract class FormulaireNode implements IObservable { /** * Set value of all single parameters to undefined, except for the given parameter ids */ - public emptyFields(except: string[] = [ "Cd0", "CdWS", "CdGR", "CdWR", "CdO", "CdT", "CdWSL" ]) { + public emptyFields(except: string[] = [ "Cd0", "CdWS", "CdGR", "CdCunge", "CdWR", "CdO", "CdT", "CdWSL" ]) { for (const p of this.allFormElements ) { if (p instanceof NgParameter) { if ( diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 4b536c864..1f047724a 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -222,6 +222,7 @@ "INFO_LIB_BT": "Half opening of the triangle", "INFO_LIB_CD": "Discharge coefficient", "INFO_LIB_CDGR": "Discharge coefficient gate", + "INFO_LIB_CDCUNGE": "Discharge coefficient", "INFO_LIB_CDWR": "Discharge coefficient weir", "INFO_LIB_CDWSL": "Discharge coefficient slot", "INFO_LIB_CDWS": "Discharge coefficient", @@ -315,7 +316,7 @@ "INFO_LINKED_VALUE_SECTION_RESULT": "%s (%s, section)", "INFO_LINKED_VALUE_SECTION": "%s (%s, section)", "INFO_LOIDEBIT_KIVI": "Kindsvater-Carter and Villemonte", - "INFO_LOIDEBIT_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)", + "INFO_LOIDEBIT_WeirSubmergedLarinier": "Submerged slot (Larinier)", "INFO_LOIDEBIT_OrificeSubmerged": "Submerged orifice", "INFO_LOIDEBIT_OrificeFree": "Free orifice", "INFO_LOIDEBIT_TriangularWeirBroad": "V-notch broad-crested weir (Bos)", @@ -325,13 +326,15 @@ "INFO_LOIDEBIT_GateCem88v": "Weir/Undershot gate Cemagref 88", "INFO_LOIDEBIT_WeirCem88d": "Weir/Orifice Cemagref 88", "INFO_LOIDEBIT_WeirCem88v": "Weir/Undershot gate Cemagref 88", - "INFO_LOIDEBIT_Cunge80": "Cunge 80", + "INFO_LOIDEBIT_Cunge80": "Cunge (1980)", + "INFO_LOIDEBIT_WeirCunge80": "Broad weir / orifice (Cunge)", + "INFO_LOIDEBIT_GateCunge80": "Broad weir (Cunge)", "INFO_LOIDEBIT_RectangularOrificeFree": "Free flow gate", "INFO_LOIDEBIT_RectangularOrificeSubmerged": "Submerged gate", - "INFO_LOIDEBIT_VanLevLarinier": "Regulated submerged slot (Larinier 1992)", - "INFO_LOIDEBIT_VanLevVillemonte": "Regulated notch (Villemonte 1957)", + "INFO_LOIDEBIT_VanLevLarinier": "Regulated submerged slot (Larinier)", + "INFO_LOIDEBIT_VanLevVillemonte": "Regulated notch (Villemonte)", "INFO_LOIDEBIT_WeirFree": "Free flow weir", - "INFO_LOIDEBIT_WeirVillemonte": "Notch (Villemonte 1957)", + "INFO_LOIDEBIT_WeirVillemonte": "Notch (Villemonte)", "INFO_MACRORUGO_TITRE_COURT": "Rock-ramp", "INFO_MACRORUGO_TITRE": "Rock-ramp fishpasses", "INFO_MENU_DIAGRAM_TITLE": "Modules diagram", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 3a4f04769..8a18acb91 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -222,6 +222,7 @@ "INFO_LIB_BT": "Demi-ouverture du triangle", "INFO_LIB_CD": "Coefficient de débit", "INFO_LIB_CDGR": "Coefficient de débit vanne", + "INFO_LIB_CDCUNGE": "Coefficient de débit", "INFO_LIB_CDWR": "Coefficient de débit seuil", "INFO_LIB_CDWSL": "Coefficient de débit fente", "INFO_LIB_CDWS": "Coefficient de débit", @@ -315,7 +316,7 @@ "INFO_LINKED_VALUE_SECTION_RESULT": "%s (%s, section)", "INFO_LINKED_VALUE_SECTION": "%s (%s, section)", "INFO_LOIDEBIT_KIVI": "Kindsvater-Carter et Villemonte", - "INFO_LOIDEBIT_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)", + "INFO_LOIDEBIT_WeirSubmergedLarinier": "Fente noyée (Larinier)", "INFO_LOIDEBIT_OrificeSubmerged": "Orifice noyé", "INFO_LOIDEBIT_OrificeFree": "Orifice dénoyé", "INFO_LOIDEBIT_TriangularWeirBroad": "Déversoir triangulaire épais (Bos)", @@ -325,13 +326,15 @@ "INFO_LOIDEBIT_GateCem88v": "Déversoir/Vanne de fond Cemagref 88", "INFO_LOIDEBIT_WeirCem88d": "Déversoir/Orifice Cemagref 88", "INFO_LOIDEBIT_WeirCem88v": "Déversoir/Vanne de fond Cemagref 88", - "INFO_LOIDEBIT_Cunge80": "Cunge 80", + "INFO_LOIDEBIT_Cunge80": "Cunge (1980)", + "INFO_LOIDEBIT_WeirCunge80": "Seuil épais / orifice (Cunge)", + "INFO_LOIDEBIT_GateCunge80": "Seuil épais (Cunge)", "INFO_LOIDEBIT_RectangularOrificeFree": "Vanne dénoyé", "INFO_LOIDEBIT_RectangularOrificeSubmerged": "Vanne noyé", - "INFO_LOIDEBIT_VanLevLarinier": "Fente noyée régulée (Larinier 1992)", - "INFO_LOIDEBIT_VanLevVillemonte": "Échancrure régulée (Villemonte 1957)", + "INFO_LOIDEBIT_VanLevLarinier": "Fente noyée régulée (Larinier)", + "INFO_LOIDEBIT_VanLevVillemonte": "Échancrure régulée (Villemonte)", "INFO_LOIDEBIT_WeirFree": "Seuil dénoyé", - "INFO_LOIDEBIT_WeirVillemonte": "Échancrure (Villemonte 1957)", + "INFO_LOIDEBIT_WeirVillemonte": "Échancrure (Villemonte)", "INFO_MACRORUGO_TITRE_COURT": "Macro-rugo.", "INFO_MACRORUGO_TITRE": "Passe à macro-rugosités", "INFO_MENU_DIAGRAM_TITLE": "Diagramme des modules", -- GitLab From bccbdd5b9130758f61cb4b63e99d51f9ead83aff Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 15 May 2020 09:33:57 +0200 Subject: [PATCH 073/117] Fix #404 (2) - add gate opening in Cloisons interface --- src/app/calculators/cloisons/config.json | 1 + src/app/calculators/cloisons/en.json | 1 + src/app/calculators/cloisons/fr.json | 1 + 3 files changed, 3 insertions(+) diff --git a/src/app/calculators/cloisons/config.json b/src/app/calculators/cloisons/config.json index e8e19e4a6..4aeb04671 100644 --- a/src/app/calculators/cloisons/config.json +++ b/src/app/calculators/cloisons/config.json @@ -41,6 +41,7 @@ }, "h1", "L", + "W", "CdWSL", "CdWR", "CdGR", diff --git a/src/app/calculators/cloisons/en.json b/src/app/calculators/cloisons/en.json index 80f95f219..2a41cd7cf 100644 --- a/src/app/calculators/cloisons/en.json +++ b/src/app/calculators/cloisons/en.json @@ -1,6 +1,7 @@ { "Q": "Total discharge", "P": "Sill", + "W": "Gate opening", "ZR": "Upstream bed elevation", "PB": "Pool mean depth", "h1": "Head", diff --git a/src/app/calculators/cloisons/fr.json b/src/app/calculators/cloisons/fr.json index fd09e504d..bf30fb990 100644 --- a/src/app/calculators/cloisons/fr.json +++ b/src/app/calculators/cloisons/fr.json @@ -1,6 +1,7 @@ { "Q": "Débit total", "P": "Pelle", + "W": "Ouverture de vanne", "select_structure_SeuilTriangulaire": "Seuil triangulaire", "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué", -- GitLab From 0b0436ce3741932e4136c72126f97a273699abef Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 24 Jun 2020 11:33:57 +0200 Subject: [PATCH 074/117] Add help links for Cunge80 discharge law --- src/app/calculators/cloisons/config.json | 2 ++ src/app/calculators/parallelstructure/config.json | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/app/calculators/cloisons/config.json b/src/app/calculators/cloisons/config.json index 4aeb04671..e9b9a8c9b 100644 --- a/src/app/calculators/cloisons/config.json +++ b/src/app/calculators/cloisons/config.json @@ -34,6 +34,8 @@ "Orifice_OrificeSubmerged": "structures/orifice_noye.html", "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html", "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html", + "SeuilRectangulaire_WeirCunge80": "structures/cunge_80.html", + "VanneRectangulaire_GateCunge80": "structures/cunge_80.html", "SeuilTriangulaire_TriangularWeirFree": "structures/dever_triang.html", "SeuilTriangulaire_TriangularWeirBroad": "structures/dever_triang.html", "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html" diff --git a/src/app/calculators/parallelstructure/config.json b/src/app/calculators/parallelstructure/config.json index e6f77606e..804ee1c91 100644 --- a/src/app/calculators/parallelstructure/config.json +++ b/src/app/calculators/parallelstructure/config.json @@ -32,8 +32,10 @@ "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html", "SeuilRectangulaire_WeirCem88d": "structures/cem_88_d.html", "SeuilRectangulaire_WeirCem88v": "structures/cem_88_v.html", + "SeuilRectangulaire_WeirCunge80": "structures/cunge_80.html", "VanneRectangulaire_GateCem88d": "structures/cem_88_d.html", "VanneRectangulaire_GateCem88v": "structures/cem_88_v.html", + "VanneRectangulaire_GateCunge80": "structures/cunge_80.html", "Orifice_OrificeSubmerged": "structures/orifice_noye.html", "Orifice_OrificeFree": "structures/orifice_denoye.html", "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html", -- GitLab From dc260b1fc71e0a9d1570586ab0e58ef182cce9a4 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 25 Jun 2020 09:24:33 +0200 Subject: [PATCH 075/117] Updated dependencies --- package-lock.json | 2876 +++++++++++++++++++++++---------------------- package.json | 32 +- 2 files changed, 1488 insertions(+), 1420 deletions(-) diff --git a/package-lock.json b/package-lock.json index fa716b7a2..19e987aa4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,12 @@ "dev": true }, "@angular-devkit/architect": { - "version": "0.901.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz", - "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==", + "version": "0.901.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.9.tgz", + "integrity": "sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.7", + "@angular-devkit/core": "9.1.9", "rxjs": "6.5.4" }, "dependencies": { @@ -38,21 +38,21 @@ } }, "@angular-devkit/build-angular": { - "version": "0.901.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.7.tgz", - "integrity": "sha512-NiBwapx/XJqYGzSmENff78i6Yif9PjYDJ9BB+59t2eDofkCZUcPFrhQmRgliO7rt6RATvT81lDP89+LBXCTQPw==", + "version": "0.901.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.9.tgz", + "integrity": "sha512-eC6iZQR5tr9dz/SkR3/3Y8Fau/2IzEfHlFCf2mqsOLkbc0MWyM/3RcuZQhRGdVOyzDCIbfzJGY0N3ejkEn2EUg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.7", - "@angular-devkit/build-optimizer": "0.901.7", - "@angular-devkit/build-webpack": "0.901.7", - "@angular-devkit/core": "9.1.7", + "@angular-devkit/architect": "0.901.9", + "@angular-devkit/build-optimizer": "0.901.9", + "@angular-devkit/build-webpack": "0.901.9", + "@angular-devkit/core": "9.1.9", "@babel/core": "7.9.0", "@babel/generator": "7.9.3", "@babel/preset-env": "7.9.0", "@babel/template": "7.8.6", "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "9.1.7", + "@ngtools/webpack": "9.1.9", "ajv": "6.12.0", "autoprefixer": "9.7.4", "babel-loader": "8.0.6", @@ -60,7 +60,7 @@ "cacache": "15.0.0", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "5.1.1", + "copy-webpack-plugin": "6.0.2", "core-js": "3.6.4", "css-loader": "3.5.1", "cssnano": "4.1.10", @@ -69,7 +69,7 @@ "glob": "7.1.6", "jest-worker": "25.1.0", "karma-source-map-support": "1.4.0", - "less": "3.11.1", + "less": "3.11.3", "less-loader": "5.0.0", "license-webpack-plugin": "2.1.4", "loader-utils": "2.0.0", @@ -95,7 +95,7 @@ "stylus": "0.54.7", "stylus-loader": "3.0.2", "terser": "4.6.10", - "terser-webpack-plugin": "2.3.5", + "terser-webpack-plugin": "3.0.3", "tree-kill": "1.2.2", "webpack": "4.42.0", "webpack-dev-middleware": "3.7.2", @@ -202,9 +202,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.901.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.7.tgz", - "integrity": "sha512-Xuce3StdxhcgLYb0BAaFGr3Bzj5EM2OsAqIT15PkikWY1k5cK50vPxoC/BkX4QDL9eXSHtqAfMBfA6h5N422vw==", + "version": "0.901.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz", + "integrity": "sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ==", "dev": true, "requires": { "loader-utils": "2.0.0", @@ -229,13 +229,13 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.901.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.7.tgz", - "integrity": "sha512-pTLW5Eqy9cHgv78LKiH0e30lxqKzUPjh1djvNtFsEemOHsfKQdAfjLjikoaQvqMoBKVaUU7r2vmyyS17cH+1yw==", + "version": "0.901.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.9.tgz", + "integrity": "sha512-Bha9LruitixhtJm72FGzqfDfgsOsrMT3EbNSql2muyoELIYbLDOvNZjcDD06CPcOAWSg6/tH9caOTFS2Zj9yOw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.7", - "@angular-devkit/core": "9.1.7", + "@angular-devkit/architect": "0.901.9", + "@angular-devkit/core": "9.1.9", "rxjs": "6.5.4" }, "dependencies": { @@ -257,9 +257,9 @@ } }, "@angular-devkit/core": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", - "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", + "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", "dev": true, "requires": { "ajv": "6.12.0", @@ -293,15 +293,6 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, "rxjs": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", @@ -320,62 +311,16 @@ } }, "@angular-devkit/schematics": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.7.tgz", - "integrity": "sha512-oeHPJePBcPp/bd94jHQeFUnft93PGF5iJiKV9szxqS8WWC5OMZ5eK7icRY0PwvLyfenspAZxdZcNaqJqPMul5A==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz", + "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.7", + "@angular-devkit/core": "9.1.9", "ora": "4.0.3", "rxjs": "6.5.4" }, "dependencies": { - "@angular-devkit/core": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", - "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", - "dev": true, - "requires": { - "ajv": "6.12.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.4", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, "rxjs": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", @@ -383,22 +328,20 @@ "dev": true, "requires": { "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, "@angular/animations": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.9.tgz", - "integrity": "sha512-qWVi0TxmU6HeXAgEsfpQvFFygh+a0kH2kGe6bWij4XvG6dWfV3xZjlaFwSIYGk+yK4yL0+9+PAXH+ENfxNw+Cw==" + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.11.tgz", + "integrity": "sha512-VKAExUnEJfo1PDQKagpx2pn+QMZCsPLRiADzTdl4U0VPylK3ALbn4ZNY9UbdwyE2plitz++LkH7sEGGfh+PNrQ==" }, "@angular/cdk": { "version": "9.2.4", @@ -417,16 +360,16 @@ } }, "@angular/cli": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.7.tgz", - "integrity": "sha512-NhsIa725S/U/n7nDxp6ForusdYHEXF4aSIvsFRdoK6vbQ889c5e1Rdj+T5EWXLmpQZxeprSKhLI2alNX0nVhhQ==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.9.tgz", + "integrity": "sha512-k8C0OY3oHoixd3buCgF8+VFe8YZGSGiprnbVMEF2WJHUUw87lPCu/d7dbID3AtVwdKdAB275rAt6IZEIzXInbw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.7", - "@angular-devkit/core": "9.1.7", - "@angular-devkit/schematics": "9.1.7", - "@schematics/angular": "9.1.7", - "@schematics/update": "0.901.7", + "@angular-devkit/architect": "0.901.9", + "@angular-devkit/core": "9.1.9", + "@angular-devkit/schematics": "9.1.9", + "@schematics/angular": "9.1.9", + "@schematics/update": "0.901.9", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.1.1", @@ -444,79 +387,6 @@ "uuid": "7.0.2" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.901.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz", - "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==", - "dev": true, - "requires": { - "@angular-devkit/core": "9.1.7", - "rxjs": "6.5.4" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "@angular-devkit/core": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", - "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", - "dev": true, - "requires": { - "ajv": "6.12.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.4", - "source-map": "0.7.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -531,39 +401,7 @@ "requires": { "type-fest": "^0.11.0" } - } - } - }, - "@angular/common": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.9.tgz", - "integrity": "sha512-y/tJtkuOJhV2kcaXZyrLZH84i4uQ1r+vaaEHvXj+JZYfYfcMMd/TDqMiPcIkUb3RxqghtZ+q0ZNW5D1Nlru3Pw==" - }, - "@angular/compiler": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.9.tgz", - "integrity": "sha512-kjFgaTB2ckr9lgmkS1dOGRT7kmzpQueydxsxXSHWgICNVE6F/u1PHyeSOyJRpxW0GnrkLq3QM2EUFnQGGga5bg==" - }, - "@angular/compiler-cli": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.9.tgz", - "integrity": "sha512-aLr2eaDlREN8XybgTbelvjtSZ8eAkxBPilnkddc700BgiC6ImyUSKaItOwa8bnjQwq4Wlz5eVG0ibsrX+5MXwg==", - "dev": true, - "requires": { - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "yargs": "15.3.0" - }, - "dependencies": { + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -580,15 +418,23 @@ "color-convert": "^2.0.1" } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" } }, "color-convert": { @@ -600,75 +446,126 @@ "color-name": "~1.1.4" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "ms": "^2.1.1" } }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "escape-string-regexp": "^1.0.5" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "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==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "hosted-git-info": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", + "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "lru-cache": "^5.1.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "yallist": "^3.0.2" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "npm-package-arg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", + "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.2", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -681,23 +578,6 @@ "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -707,52 +587,88 @@ "ansi-regex": "^5.0.0" } }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "has-flag": "^4.0.0" } }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } + "uuid": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", + "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==", + "dev": true }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@angular/common": { + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.11.tgz", + "integrity": "sha512-Vh5lF7zWwDK9RedmYXUc8vUXyrecR3j1mAWlTlnmcHYxxFThPzN/dr0slQcPi6nyJn0EmyRKUGvAoZx4rIb7wg==" + }, + "@angular/compiler": { + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.11.tgz", + "integrity": "sha512-MbVheCG0U8gt6xtiipau20N26mD2sXjLChVmRKgO6rbDruxboNMZfEd94q9NP9JRaUsVnjXvY7GMDldoymdXig==" + }, + "@angular/compiler-cli": { + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.11.tgz", + "integrity": "sha512-9qIxbtpRXOQnRm6inxCa5HuH87MSuMzuceD0YBVzl8v+vLtewon9KXYMmF4kTBhWa/LEa8FrajljLh0azf3VLg==", + "dev": true, + "requires": { + "canonical-path": "1.0.0", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.7.2", + "fs-extra": "4.0.2", + "magic-string": "^0.25.0", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "semver": "^6.3.0", + "source-map": "^0.6.1", + "sourcemap-codec": "^1.4.8", + "yargs": "15.3.0" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", + "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, "@angular/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.9.tgz", - "integrity": "sha512-q/DERgVU6vK2LtTcdVCGGBcoO424WsEfImh3Vcuy+P/ZVmthlDUC/+q+tSKt8MMf4hLpxFDQJE8vUSkktj7QEw==" + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.11.tgz", + "integrity": "sha512-KAlEedBo761O1aeoTJVziOSHi8Fttk9ipvbDZXYT/o0W/KdVwubxP34g9t5aD8LCcF8+L0z4VLw++HjdJAUpwg==" }, "@angular/flex-layout": { "version": "9.0.0-beta.31", @@ -760,14 +676,14 @@ "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA==" }, "@angular/forms": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.9.tgz", - "integrity": "sha512-r675yImnb/0pY7K5W3V2ITa7YETu1I2AS+bRfII6UQ6gthyeFFOHb5noa7YneC2yqQiM6E4DQmF5ig3daPuFNg==" + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.11.tgz", + "integrity": "sha512-t4WHrh6ot1r8zdV+3fJz7g9rCok77c9CiIevhH2dR/idxD+HtFR0wqmcBQzsn+rNVB0f0TiSHDrj+TeELIFyWw==" }, "@angular/language-service": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.9.tgz", - "integrity": "sha512-yT6HPpdAe2mD9HRoTCiWFog1MRJt+0j+CLbI/Ql7C6pH6vbjmfsJ55xMmQ7eS6trsnebpMWTUv1f2GRykv3ygw==", + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.11.tgz", + "integrity": "sha512-jfm4etbqldj6MTwECwyoAs7tXEAR8K/8P8dBZnsELhY+V8oFidTJI3NY52PB3Ym7leSPorYdOAeUMMuQfPaVxg==", "dev": true }, "@angular/material": { @@ -776,19 +692,19 @@ "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA==" }, "@angular/platform-browser": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.9.tgz", - "integrity": "sha512-V861X3MxJp1AlMTnkUPldpBLIJbApXF3ka0A5Dq2nVJCyOFeteGkaRWSBgqe2jxmq+LVpJbzcNvtDFXw6mQ0jA==" + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.11.tgz", + "integrity": "sha512-KDxoiFhW4UD+EqchcKpQVSLwg9Rd3JbWytZLchFV6nH8BFnshfJtw2tyPT8bMhFVG9n9zSR4QSGaozWgoDs9mw==" }, "@angular/platform-browser-dynamic": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.9.tgz", - "integrity": "sha512-b9MG5MWne+IuL3uLm8jwPhlJzqYaGBGk/qibOqb17T24j1iyrlO7T5bZ8zO6pUy5iT/TahVfHPnPJC1qTK5OmA==" + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.11.tgz", + "integrity": "sha512-Qw3rfVFF0Wtu+UwraqKPCgTA3uoNPGf4vKSfuCuXTrG0p7j+3mCP59aUv5gGH7GV1UQ++jZRx5pbWF43zrC8Hw==" }, "@angular/router": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.9.tgz", - "integrity": "sha512-4u+CWMPB4hCkAsFCEzC94YEWT0wVozqGkc/Dortt2hFaqvZpIegg6iJVZlDxuyDjzFYBPnnbTDdgiTTA8ckfuA==" + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.11.tgz", + "integrity": "sha512-D6CCDeSK/F6dWSB/a1g/zB072xG5LadLSV8afQ57oX1KHePx21LcoRG4tUtFMMHh/jZXRc9pMQIR1/9FrrXF3Q==" }, "@babel/code-frame": { "version": "7.5.5", @@ -800,9 +716,9 @@ } }, "@babel/compat-data": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", - "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz", + "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==", "dev": true, "requires": { "browserslist": "^4.12.0", @@ -835,21 +751,21 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -898,31 +814,6 @@ "source-map": "^0.5.0" }, "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz", - "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==", - "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" - } - }, - "rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -941,13 +832,13 @@ } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", - "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz", + "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-explode-assignable-expression": "^7.10.3", + "@babel/types": "^7.10.3" } }, "@babel/helper-compilation-targets": { @@ -975,104 +866,104 @@ } }, "@babel/helper-define-map": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", - "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz", + "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/types": "^7.10.1", + "@babel/helper-function-name": "^7.10.3", + "@babel/types": "^7.10.3", "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", - "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz", + "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==", "dev": true, "requires": { - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/traverse": "^7.10.3", + "@babel/types": "^7.10.3" } }, "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" } } } }, "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" } }, "@babel/helper-hoist-variables": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", - "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz", + "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", - "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz", + "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" } }, "@babel/helper-module-imports": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", - "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz", + "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" } }, "@babel/helper-module-transforms": { @@ -1091,51 +982,51 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" } } } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", - "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz", + "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" } }, "@babel/helper-plugin-utils": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", - "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", + "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", "dev": true }, "@babel/helper-regex": { @@ -1148,47 +1039,47 @@ } }, "@babel/helper-remap-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", - "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz", + "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", "@babel/helper-wrap-function": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.3", + "@babel/traverse": "^7.10.3", + "@babel/types": "^7.10.3" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" } } } @@ -1216,34 +1107,34 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" } } } @@ -1258,9 +1149,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", - "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", "dev": true }, "@babel/helper-wrap-function": { @@ -1276,34 +1167,34 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" } } } @@ -1320,34 +1211,34 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" } } } @@ -1372,19 +1263,19 @@ } }, "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", - "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz", + "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-remap-async-to-generator": "^7.10.3", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, @@ -1429,12 +1320,12 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", - "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz", + "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-transform-parameters": "^7.10.1" } @@ -1450,12 +1341,12 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", - "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz", + "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, @@ -1590,28 +1481,28 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", - "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz", + "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-define-map": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-define-map": "^7.10.3", + "@babel/helper-function-name": "^7.10.3", + "@babel/helper-optimise-call-expression": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/helper-replace-supers": "^7.10.1", "@babel/helper-split-export-declaration": "^7.10.1", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", - "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz", + "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.3" } }, "@babel/plugin-transform-destructuring": { @@ -1713,14 +1604,14 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", - "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz", + "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.1", + "@babel/helper-hoist-variables": "^7.10.3", "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", "babel-plugin-dynamic-import-node": "^2.3.3" } }, @@ -1735,9 +1626,9 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz", + "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.8.3" @@ -1782,9 +1673,9 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", - "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz", + "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" @@ -1828,13 +1719,13 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", - "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz", + "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.3" } }, "@babel/plugin-transform-typeof-symbol": { @@ -1843,8 +1734,7 @@ "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-unicode-regex": { @@ -1967,21 +1857,21 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -1989,50 +1879,50 @@ } }, "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", + "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", + "@babel/code-frame": "^7.10.3", + "@babel/generator": "^7.10.3", + "@babel/helper-function-name": "^7.10.3", "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.1" + "@babel/highlight": "^7.10.3" } }, "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", + "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", "dev": true, "requires": { - "@babel/types": "^7.10.2", + "@babel/types": "^7.10.3", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -2061,12 +1951,12 @@ } }, "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", + "@babel/helper-validator-identifier": "^7.10.3", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } @@ -2538,12 +2428,6 @@ "source-map": "^0.6.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -2574,12 +2458,12 @@ } }, "@ngtools/webpack": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.7.tgz", - "integrity": "sha512-A7VB2I42Kn+7jl0tDKzGNLAoZLWSqkKo9Hg1bmKpvAAIz+DSbq3uV+JWgGgTprM3tn0lfkVgmqk4H17HKwAOcg==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.9.tgz", + "integrity": "sha512-7UzRL54JcK1m2PvgpchV26TF9OYipj/8+dygdjaidqOyQujWpHncdtq/ScbUsoJ44nHjIRJPhaGE00NLpWZvnA==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.7", + "@angular-devkit/core": "9.1.9", "enhanced-resolve": "4.1.1", "rxjs": "6.5.4", "webpack-sources": "1.4.3" @@ -2602,97 +2486,75 @@ } } }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + } + } + }, "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, - "@schematics/angular": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.7.tgz", - "integrity": "sha512-ld3WcoMWvup04V3OWioQ+AFGQBzz7IDM4Fxc5+Qc3wILWkDJnNkrc4EmJAow96Ab4/T1+Wl1vof3tV4At0BTzA==", + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@npmcli/move-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", + "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.7", - "@angular-devkit/schematics": "9.1.7" + "mkdirp": "^1.0.4" }, "dependencies": { - "@angular-devkit/core": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", - "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", - "dev": true, - "requires": { - "ajv": "6.12.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.4", - "source-map": "0.7.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } } } }, + "@schematics/angular": { + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.9.tgz", + "integrity": "sha512-c8YGZ6pDfr8IDD1qaOjlEBAkEz14KFSxDj0hCWs0xIM0py513tu5sW8+ziYxGG4bgqpsgVR/KAxuY78iBfUVag==", + "dev": true, + "requires": { + "@angular-devkit/core": "9.1.9", + "@angular-devkit/schematics": "9.1.9" + } + }, "@schematics/update": { - "version": "0.901.7", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.7.tgz", - "integrity": "sha512-6IpQVFvbu47CrXfqqHAzv2vi7AOdfi1S+SiayXU6FWTeA2wV47H8R60VjxurL8JkDGoVhFgC4+lK6KG++g3dQw==", + "version": "0.901.9", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.9.tgz", + "integrity": "sha512-VChX0VO/oyfCF3y+HjMTU2qN3vGgJYxEI1V+Q9aAlwl95t3GAufuaFY1CNW3YV4XkYIjD88e3yWl8d5yO4qf4w==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.7", - "@angular-devkit/schematics": "9.1.7", + "@angular-devkit/core": "9.1.9", + "@angular-devkit/schematics": "9.1.9", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "npm-package-arg": "^8.0.0", @@ -2702,43 +2564,6 @@ "semver-intersect": "1.4.0" }, "dependencies": { - "@angular-devkit/core": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz", - "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==", - "dev": true, - "requires": { - "ajv": "6.12.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.4", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "hosted-git-info": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", @@ -2757,15 +2582,6 @@ "yallist": "^3.0.2" } }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, "npm-package-arg": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", @@ -2784,14 +2600,6 @@ "dev": true, "requires": { "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } } }, "semver": { @@ -2800,6 +2608,12 @@ "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -2868,9 +2682,9 @@ } }, "@types/jasmine": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz", - "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.11.tgz", + "integrity": "sha512-fg1rOd/DehQTIJTifGqGVY6q92lDgnLfs7C6t1ccSwQrMyoTGSoH6wWzhJDZb6ezhsdwAX4EIBLe8w5fXWmEng==", "dev": true }, "@types/jasminewd2": { @@ -2883,9 +2697,9 @@ } }, "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", "dev": true }, "@types/marked": { @@ -2905,9 +2719,9 @@ "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew==" }, "@types/node": { - "version": "14.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.12.tgz", - "integrity": "sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==", + "version": "14.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", + "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==", "dev": true }, "@types/pako": { @@ -3993,12 +3807,6 @@ "semver": "^5.6.0" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -4630,15 +4438,15 @@ } }, "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.1.tgz", + "integrity": "sha512-WMjXwFtPskSW1pQUDJRxvRKRkeCr7usN0O/Za76N+F4oadaTdQHotSGcX9jT/Hs7mSKPkyMFNvqawB/1HzYDKQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001088", + "electron-to-chromium": "^1.3.481", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" } }, "browserstack": { @@ -4938,24 +4746,6 @@ "yallist": "^3.0.2" } }, - "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -4971,34 +4761,6 @@ "aggregate-error": "^3.0.0" } }, - "tar": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", - "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.0", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -5132,9 +4894,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001079", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz", - "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==", + "version": "1.0.30001088", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001088.tgz", + "integrity": "sha512-6eYUrlShRYveyqKG58HcyOfPgh3zb2xqs7NvT2VVtP3hEUeeWvc3lqhpeMTxYWBBeeaT9A4bKsrtjATm66BTHg==", "dev": true }, "canonical-path": { @@ -5254,9 +5016,9 @@ } }, "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", "dev": true, "requires": { "anymatch": "~3.1.1", @@ -5266,7 +5028,7 @@ "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" + "readdirp": "~3.4.0" }, "dependencies": { "anymatch": { @@ -5304,16 +5066,16 @@ } }, "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, "optional": true }, "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -5350,12 +5112,20 @@ "dev": true }, "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, "requires": { - "picomatch": "^2.0.7" + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + } } }, "to-regex-range": { @@ -5502,6 +5272,34 @@ "tiny-emitter": "^2.0.0" } }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -5923,57 +5721,109 @@ "dev": true }, "copy-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.2.tgz", + "integrity": "sha512-9Gm8X0c6eXlKnmltMPFCBeGOKjtcRIyTt4VaO3k1TkNgVTe5Ov2lYsYVuyLp0kp8DItO3apewflM+1GYgh6V2Q==", "dev": true, "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", + "cacache": "^15.0.4", + "fast-glob": "^3.2.2", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "webpack-log": "^2.0.0" + "p-limit": "^2.3.0", + "schema-utils": "^2.7.0", + "serialize-javascript": "^3.1.0", + "webpack-sources": "^1.4.3" }, "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", + "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", "dev": true, "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", + "infer-owner": "^1.0.4", "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" } }, "glob": { @@ -5990,6 +5840,15 @@ "path-is-absolute": "^1.0.0" } }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -5999,25 +5858,11 @@ "is-extglob": "^2.1.1" } }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "lru-cache": { "version": "5.1.1", @@ -6028,20 +5873,26 @@ "yallist": "^3.0.2" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, "normalize-path": { @@ -6050,25 +5901,57 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1" + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } }, "yallist": { @@ -6908,12 +6791,6 @@ "json5": "^1.0.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -8046,9 +7923,9 @@ } }, "electron": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.3.tgz", - "integrity": "sha512-rY59wy50z0oWp/q69zq0UIzvtcM5j2BJbLAwEoLfVNS3DLt9wDZqRqSIBvLEBl+xWbafCnRA9haEqi7ssM94GA==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.5.tgz", + "integrity": "sha512-bnL9H48LuQ250DML8xUscsKiuSu+xv5umXbpBXYJ0BfvYVmFfNbG3jCfhrsH7aP6UcQKVxOG1R/oQExd0EFneQ==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -8057,9 +7934,9 @@ }, "dependencies": { "@types/node": { - "version": "12.12.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.45.tgz", - "integrity": "sha512-9w50wqeS0qQH9bo1iIRcQhDXRxoDzyAqCL5oJG+Nuu7cAoe6omGo+YDE0spAGK5sPrdLDhQLbQxq0DnxyndPKA==", + "version": "12.12.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.47.tgz", + "integrity": "sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==", "dev": true } } @@ -8398,9 +8275,9 @@ } }, "electron-to-chromium": { - "version": "1.3.465", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz", - "integrity": "sha512-K/lUeT3NLAsJ5SHRDhK3/zd0tw7OUllYD8w+fTOXm6ljCPsp2qq+vMzxpLo8u1M27ZjZAjRbsA6rirvne2nAMQ==", + "version": "1.3.482", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.482.tgz", + "integrity": "sha512-iRK2JHR6Q3x20Pkl1Rf+gzalOwmVG+PF2J9BHiVOCPotloQmDSG6dT+Vtf2D+3JT3fpzoDNdtHgGuRO6OAUlhQ==", "dev": true }, "elementtree": { @@ -8419,9 +8296,9 @@ } }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -8768,6 +8645,12 @@ "ext": "^1.1.2" } }, + "escalade": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", + "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", + "dev": true + }, "escape-goat": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", @@ -9301,23 +9184,6 @@ "debug": "^2.6.9", "mkdirp": "^0.5.4", "yauzl": "^2.10.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } } }, "extsprintf": { @@ -9407,6 +9273,15 @@ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, + "fastq": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -9426,9 +9301,9 @@ } }, "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "figures": { @@ -10458,7 +10333,8 @@ "genfun": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==" + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", + "dev": true }, "gensync": { "version": "1.0.0-beta.1", @@ -10472,6 +10348,12 @@ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", @@ -10597,17 +10479,145 @@ } }, "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "dev": true, "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, "good-listener": { @@ -12157,14 +12167,6 @@ "dev": true, "requires": { "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "jsonfile": { @@ -12206,9 +12208,9 @@ } }, "karma": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz", - "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma/-/karma-5.1.0.tgz", + "integrity": "sha512-I3aPbkuIbwuBo6wSog97P5WnnhCgUTsWTu/bEw1vZVQFbXmKO3PK+cfFhZioOgVtJAuQxoyauGNjnwXNHMCxbw==", "dev": true, "requires": { "body-parser": "^1.19.0", @@ -12237,22 +12239,6 @@ "yargs": "^15.3.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -12262,26 +12248,6 @@ "fill-range": "^7.0.1" } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, "connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -12294,12 +12260,6 @@ "utils-merge": "1.0.1" } }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -12319,12 +12279,6 @@ "path-exists": "^4.0.0" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -12345,23 +12299,6 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -12410,12 +12347,6 @@ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -12431,26 +12362,6 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -12469,17 +12380,6 @@ "is-number": "^7.0.0" } }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, "yargs": { "version": "15.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", @@ -12498,16 +12398,6 @@ "y18n": "^4.0.0", "yargs-parser": "^18.1.1" } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, @@ -12622,23 +12512,48 @@ "dev": true }, "less": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz", - "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz", + "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==", "dev": true, "requires": { "clone": "^2.1.2", "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", + "make-dir": "^2.1.0", "mime": "^1.4.1", - "mkdirp": "^0.5.0", "promise": "^7.1.1", "request": "^2.83.0", "source-map": "~0.6.0", "tslib": "^1.10.0" }, "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -12685,12 +12600,6 @@ "json5": "^1.0.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -13049,9 +12958,9 @@ "dev": true }, "magic-string": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", - "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -13418,12 +13327,6 @@ "json5": "^1.0.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -13538,28 +13441,19 @@ } }, "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", "dev": true, "requires": { - "minipass": "^2.9.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "dependencies": { - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -14178,22 +14072,22 @@ }, "dependencies": { "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -14214,24 +14108,24 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-keys": { @@ -14264,22 +14158,22 @@ }, "dependencies": { "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -14315,9 +14209,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-keys": { @@ -14744,6 +14638,15 @@ } } }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -14772,6 +14675,15 @@ "yallist": "^3.0.0" } }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "requires": { + "minipass": "^2.9.0" + } + }, "npm-pick-manifest": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", @@ -14798,6 +14710,21 @@ "figgy-pudding": "^3.5.1" } }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -15304,12 +15231,6 @@ "emojis-list": "^3.0.0", "json5": "^1.0.1" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, @@ -16302,6 +16223,15 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, "q": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", @@ -16485,12 +16415,6 @@ "json5": "^1.0.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -16820,6 +16744,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -16904,6 +16834,12 @@ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rfdc": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", @@ -16997,6 +16933,12 @@ "is-promise": "^2.1.0" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -17115,12 +17057,6 @@ "json5": "^1.0.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "neo-async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", @@ -17358,13 +17294,25 @@ "optional": true, "requires": { "type-fest": "^0.13.1" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true + } } }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "serve-index": { "version": "1.9.1", @@ -17909,12 +17857,6 @@ "emojis-list": "^3.0.0", "json5": "^1.0.1" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, @@ -18316,6 +18258,40 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, "string.prototype.codepointat": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", @@ -18331,24 +18307,154 @@ "function-bind": "^1.0.2" } }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } } }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } } }, "string_decoder": { @@ -18442,12 +18548,6 @@ "json5": "^1.0.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -18563,12 +18663,6 @@ "emojis-list": "^3.0.0", "json5": "^1.0.1" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, @@ -18738,43 +18832,35 @@ } }, "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", + "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", "dev": true, "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "dependencies": { - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -18872,19 +18958,19 @@ } }, "terser-webpack-plugin": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", - "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz", + "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==", "dev": true, "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.2.0", - "jest-worker": "^25.1.0", - "p-limit": "^2.2.2", - "schema-utils": "^2.6.4", - "serialize-javascript": "^2.1.2", + "cacache": "^15.0.4", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.0.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^3.1.0", "source-map": "^0.6.1", - "terser": "^4.4.3", + "terser": "^4.6.13", "webpack-sources": "^1.4.3" }, "dependencies": { @@ -18901,31 +18987,36 @@ } }, "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", + "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", "dev": true, "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.2", "infer-owner": "^1.0.4", "lru-cache": "^5.1.1", - "minipass": "^3.0.0", + "minipass": "^3.1.1", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", "unique-filename": "^1.1.1" } }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -18946,12 +19037,22 @@ "path-is-absolute": "^1.0.0" } }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-worker": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", + "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -18961,6 +19062,12 @@ "yallist": "^3.0.2" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -18970,13 +19077,22 @@ "p-try": "^2.0.0" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "glob": "^7.1.3" } }, "schema-utils": { @@ -18996,20 +19112,19 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "ssri": { + "supports-color": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" + "has-flag": "^4.0.0" } }, "terser": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", - "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -19424,11 +19539,10 @@ } }, "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true, - "optional": true + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true }, "type-is": { "version": "1.6.18", @@ -20036,22 +20150,22 @@ }, "dependencies": { "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -20087,9 +20201,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-keys": { @@ -20194,143 +20308,6 @@ "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", "watchpack-chokidar2": "^2.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true, - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - }, - "dependencies": { - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "optional": true - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } } }, "watchpack-chokidar2": { @@ -20537,12 +20514,6 @@ "semver": "^5.6.0" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "neo-async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", @@ -20561,15 +20532,6 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -21185,12 +21147,53 @@ "emojis-list": "^3.0.0", "json5": "^1.0.1" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + } + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } } } }, @@ -21296,6 +21299,71 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "yargs": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", + "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/package.json b/package.json index 349081643..8e4a1972f 100644 --- a/package.json +++ b/package.json @@ -35,17 +35,17 @@ }, "private": true, "dependencies": { - "@angular/animations": "^9.1.9", + "@angular/animations": "^9.1.11", "@angular/cdk": "^9.2.4", - "@angular/common": "^9.1.9", - "@angular/compiler": "^9.1.9", - "@angular/core": "^9.1.9", + "@angular/common": "^9.1.11", + "@angular/compiler": "^9.1.11", + "@angular/core": "^9.1.11", "@angular/flex-layout": "^9.0.0-beta.31", - "@angular/forms": "^9.1.9", + "@angular/forms": "^9.1.11", "@angular/material": "^9.2.4", - "@angular/platform-browser": "^9.1.9", - "@angular/platform-browser-dynamic": "^9.1.9", - "@angular/router": "^9.1.9", + "@angular/platform-browser": "^9.1.11", + "@angular/platform-browser-dynamic": "^9.1.11", + "@angular/router": "^9.1.11", "@types/pako": "^1.0.1", "@types/sprintf-js": "^1.1.2", "angular2-chartjs": "^0.5.1", @@ -83,23 +83,23 @@ "zone.js": "^0.10.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.901.7", - "@angular/cli": "^9.1.7", - "@angular/compiler-cli": "^9.1.9", - "@angular/language-service": "^9.1.9", + "@angular-devkit/build-angular": "^0.901.9", + "@angular/cli": "^9.1.9", + "@angular/compiler-cli": "^9.1.11", + "@angular/language-service": "^9.1.11", "@compodoc/compodoc": "^1.1.11", "@types/file-saver": "^2.0.1", - "@types/jasmine": "^3.5.10", + "@types/jasmine": "^3.5.11", "@types/jasminewd2": "^2.0.8", - "@types/node": "^14.0.12", + "@types/node": "^14.0.14", "codelyzer": "^5.2.2", "cordova": "^9.0.0", - "electron": "^9.0.3", + "electron": "^9.0.5", "electron-builder": "^22.7.0", "fs-extra": "^9.0.1", "jasmine-core": "^3.5.0", "jasmine-spec-reporter": "^5.0.2", - "karma": "^5.0.9", + "karma": "^5.1.0", "karma-chrome-launcher": "^3.1.0", "karma-cli": "~2.0.0", "karma-coverage-istanbul-reporter": "^3.0.3", -- GitLab From 65b86cf8e7fff22aaf486e1a0d44e4f9ac9e366e Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 25 Jun 2020 11:36:35 +0200 Subject: [PATCH 076/117] PreBarrage: display structures in Cloison form --- src/app/calculators/pbcloison/en.json | 31 +++++++++++++++++- src/app/calculators/pbcloison/fr.json | 32 ++++++++++++++++++- .../pb-schema/pb-schema.component.ts | 5 +++ .../formulaire/definition/form-definition.ts | 3 +- .../formulaire/definition/form-pb-cloison.ts | 8 +++++ .../formulaire/definition/form-prebarrage.ts | 26 ++++++--------- 6 files changed, 86 insertions(+), 19 deletions(-) diff --git a/src/app/calculators/pbcloison/en.json b/src/app/calculators/pbcloison/en.json index bcd280c3a..2f9e94744 100644 --- a/src/app/calculators/pbcloison/en.json +++ b/src/app/calculators/pbcloison/en.json @@ -2,5 +2,34 @@ "fs_wall_params": "Wall parameters", "select_upstream_basin": "Upstream basin", - "select_downstream_basin": "Downstream basin" + "select_downstream_basin": "Downstream basin", + + "select_structure_Orifice": "Orifice", + "select_structure_VanneRectangulaire": "Rectangular gate", + "select_structure_SeuilRectangulaire": "Rectangular weir", + "select_structure_SeuilTriangulaire": "Triangular weir", + "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir", + + "select_loidebit_Orifice_OrificeSubmerged": "Submerged orifice", + "select_loidebit_Orifice_OrificeFree": "Free orifice", + + "select_loidebit_VanneRectangulaire_GateCem88d": "Weir/Orifice Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCem88v": "Weir/Undershot gate Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)", + "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Free flow gate", + "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Submerged gate", + + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "V-notch sharp-crested weir (Villemonte)", + "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "V-notch broad-crested weir (Bos)", + + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Truncated triangular weir (Villemonte)", + + "select_loidebit_SeuilRectangulaire_WeirCem88d": "Weir/Orifice Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirCem88v": "Weir/Undershot gate Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)", + "select_loidebit_SeuilRectangulaire_WeirSubmerged": "Submerged weir", + "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957", + "select_loidebit_SeuilRectangulaire_WeirFree": "Free flow weir", + "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter and Villemonte", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)" } diff --git a/src/app/calculators/pbcloison/fr.json b/src/app/calculators/pbcloison/fr.json index 4480513b3..e02e713f3 100644 --- a/src/app/calculators/pbcloison/fr.json +++ b/src/app/calculators/pbcloison/fr.json @@ -1,6 +1,36 @@ { "fs_wall_params": "Paramètres de la cloison", + "fs_wall_device": "Ouvrage", "select_upstream_basin": "Bassin amont", - "select_downstream_basin": "Bassin aval" + "select_downstream_basin": "Bassin aval", + + "select_structure_Orifice": "Orifice", + "select_structure_SeuilRectangulaire": "Seuil rectangulaire", + "select_structure_SeuilTriangulaire": "Seuil triangulaire", + "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué", + "select_structure_VanneRectangulaire": "Vanne rectangulaire", + + "select_loidebit_Orifice_OrificeSubmerged": "Orifice noyé", + "select_loidebit_Orifice_OrificeFree": "Orifice dénoyé", + + "select_loidebit_VanneRectangulaire_GateCem88d": "Déversoir/Orifice Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCem88v": "Déversoir/Vanne de fond Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)", + "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Vanne dénoyée", + "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Vanne noyée", + + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire mince (Villemonte)", + "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "Déversoir triangulaire épais (Bos)", + + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Déversoir triangulaire tronqué (Villemonte)", + + "select_loidebit_SeuilRectangulaire_WeirCem88d": "Déversoir/Orifice Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirCem88v": "Déversoir/Vanne de fond Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)", + "select_loidebit_SeuilRectangulaire_WeirSubmerged": "Seuil noyé", + "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957", + "select_loidebit_SeuilRectangulaire_WeirFree": "Seuil dénoyé", + "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter et Villemonte", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)" } diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 0dddab78b..fa57966e7 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -78,6 +78,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni }); this.nativeElement = this.schema.nativeElement; this.render(); + // reset form to river properties (clodo timeout to prevent ExpressionChangedAfterItHasBeenCheckedError) + setTimeout(() => { + this.unselect(); + }, 10); + // @TODO find a way to remember last selected item ? Through a service ? } private render() { diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index dd6797765..721715aef 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -413,7 +413,8 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } public isDisplayed(id: string) { - return (<FormulaireElement>this.getFormulaireNodeById(id)).isDisplayed; + const fe = <FormulaireElement>this.getFormulaireNodeById(id); + return fe !== undefined && fe.isDisplayed; } /** diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index 90ac294ec..cf9801ef6 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -60,6 +60,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure { const oldDownstreamBasin = nub.bassinAval; pb.deleteChild(pb.findChildPosition(nub.uid)); const newWall = new PbCloison(newBasin, oldDownstreamBasin); + // copy structures + for (const s of nub.structures) { + newWall.addChild(s); + } pb.addChild(newWall); this.currentNub = newWall; } else if (sender.id === this._downstreamBasinSelectId) { @@ -67,6 +71,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure { const oldUpstreamBasin = nub.bassinAmont; pb.deleteChild(pb.findChildPosition(nub.uid)); const newWall = new PbCloison(oldUpstreamBasin, newBasin); + // copy structures + for (const s of nub.structures) { + newWall.addChild(s); + } pb.addChild(newWall); this.currentNub = newWall; } diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 7d69abf7a..063d37ecf 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -21,9 +21,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { /** configuration for re-creating basin form every time needed */ private basinFormConfig: string; - /** child form for walls (repeatable devices) */ - private wallForm: FormulairePbCloison; - /** configuration for re-creating wall form every time needed */ private wallFormConfig: string; @@ -74,7 +71,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { break; case "subform_wall": // same as above - console.log("===> storing wall form config", json["config"]); this.wallFormConfig = json["config"]; break; } @@ -101,18 +97,19 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.showFormElements(this.basinForm); } else if (node instanceof PbCloison) { - console.log("---------------> new wall form !!"); - this.wallForm = new FormulairePbCloison(); - this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; - this.wallForm.currentNub = node; - this.wallForm.preparseConfig(this.wallFormConfig); - this.wallForm.parseConfig(this.wallFormConfig); + const wallForm = new FormulairePbCloison(); + wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; + wallForm.currentNub = node; + wallForm.preparseConfig(this.wallFormConfig); + wallForm.parseConfig(this.wallFormConfig); + // subscribe to upstream/downstream basin change + wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from… + ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(wallForm); // add fieldsets for existing Structures console.log(`Node ${node.uid} : ${node.structures.length} structures, Form ${this.uid} : ${this._kids.length} form elements`); if (node.structures.length > 0) { - console.log(">> adding fieldsets for existing structures"); for (const struct of node.structures) { - for (const e of this.allFormElements) { + for (const e of wallForm.allFormElements) { if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? e.addFromTemplate(0, undefined, struct); } @@ -122,10 +119,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { // if there was no existing structure, add a default one ! @TODO console.log("TODO add default structure"); } - // subscribe to upstream/downstream basin change - this.wallForm.addObserver(this); - ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm); - this.showFormElements(this.wallForm); + this.showFormElements(wallForm); } } -- GitLab From 94967039c10301b5ba8566ccea1eb9af6f11cc31 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 25 Jun 2020 15:30:38 +0200 Subject: [PATCH 077/117] PreBarrage: improved calculator template --- .../calculator.component.html | 63 ++++++++++++------- .../calculator.component.scss | 4 ++ 2 files changed, 46 insertions(+), 21 deletions(-) diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html index 9cb4f5d2f..6ef040218 100644 --- a/src/app/components/generic-calculator/calculator.component.html +++ b/src/app/components/generic-calculator/calculator.component.html @@ -70,19 +70,53 @@ [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'"> <div id="calc-card-field-sets-container" [fxLayout]="isPB ? 'row wrap' : 'column'"> - - <ng-template ngFor let-fe [ngForOf]="formElements"> + + <!-- PB specific template --> + <div *ngIf="isPB" id="pb-schema-container" + fxFlex.gt-sm="1 0 400px" + fxFlex.lt-md="1 0 500px" + fxFlex.lt-sm="1 0 300px"> + + <pb-schema [pbSchema]="formElements[0]" (radio)=onRadioClick($event) + (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)"> + </pb-schema> + + <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div> + </div> + <!-- PB specific template (2) --> + <div *ngIf="isPB" id="pb-form-container" [hidden]="! showPBInputData" + fxFlex.gt-sm="1 0 400px" + fxFlex.lt-md="1 0 500px" + fxFlex.lt-sm="1 0 300px"> + + <ng-template ngFor let-fe [ngForOf]="formElements"> + <field-set *ngIf="isFieldset(fe)" + [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe + (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) + (tabPressed)="onTabPressed($event)"> + </field-set> + + <fieldset-container *ngIf="isFieldsetContainer(fe)" + [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe + (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) + (tabPressed)="onTabPressed($event)"> + </fieldset-container> + </ng-template> + </div> + + <!-- generic template --> + <ng-template *ngIf="! isPB" ngFor let-fe [ngForOf]="formElements"> <field-set *ngIf="isFieldset(fe)" - [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe + [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) (tabPressed)="onTabPressed($event)" - [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'" - [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'" - [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'"> + fxFlex.gt-sm="1 0 auto" + fxFlex.lt-md="1 0 auto" + fxFlex.lt-sm="1 0 auto"> </field-set> <fieldset-container *ngIf="isFieldsetContainer(fe)" - [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe + [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event) (tabPressed)="onTabPressed($event)" fxFlex="1 0 auto"> @@ -92,19 +126,6 @@ (validChange)=onElementValid() (inputChange)=onInputChange($event) fxFlex="1 0 auto"> </pab-table> - - <div *ngIf="isPbSchema(fe)" id="pb-schema-container" - [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'" - [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'" - [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'"> - - <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]=fe (radio)=onRadioClick($event) - (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)"> - </pb-schema> - - <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div> - </div> - </ng-template> </div> @@ -127,7 +148,7 @@ <quicknav *ngIf="! isPB" [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav> - <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isWide"> + <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isPB && ! isWide"> <mat-card-title> <h1 [innerHTML]="uitextResultsTitle"></h1> </mat-card-title> diff --git a/src/app/components/generic-calculator/calculator.component.scss b/src/app/components/generic-calculator/calculator.component.scss index 6c19dd011..da2c0f021 100644 --- a/src/app/components/generic-calculator/calculator.component.scss +++ b/src/app/components/generic-calculator/calculator.component.scss @@ -26,6 +26,10 @@ display: block; } +#pb-form-container { + display: block; +} + /** copy of quicknav style */ #pb-data-results-selector { -- GitLab From 122ad8672a2efc3e68499847c67f24e97a37e542 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 25 Jun 2020 16:14:12 +0200 Subject: [PATCH 078/117] PreBarrage: restore select mechanisms on Cloison form --- src/app/calculators/prebarrage/config.json | 6 +++--- src/app/formulaire/definition/form-pb-cloison.ts | 14 +------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json index 547346740..7aa71a6d9 100644 --- a/src/app/calculators/prebarrage/config.json +++ b/src/app/calculators/prebarrage/config.json @@ -45,7 +45,7 @@ "type": "subform", "config": [ { - "id": "fs_wall_device", + "id": "fs_ouvrage", "type": "fieldset_template", "calcType": "Structure", "defaultStructType": "SeuilRectangulaire", @@ -105,14 +105,14 @@ "id": "struct_container", "type": "template_container", "templates": [ - "fs_wall_device" + "fs_ouvrage" ] }, { "type": "options", "upstreamBasinSelectId": "select_upstream_basin", "downstreamBasinSelectId": "select_downstream_basin", - "selectIds": [ ] + "selectIds": [ "select_structure", "select_loidebit" ] } ] }, diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index cf9801ef6..db7272f52 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -36,19 +36,7 @@ export class FormulairePbCloison extends FormulaireParallelStructure { // interface Observer public update(sender: IObservable, data: any) { - // copied from FormDefinition, to avoid calling super.update() - if (sender instanceof Nub) { - switch (data.action) { - case "resultUpdated": - // forward Nub results update notification to FormCompute objects - this.reaffectResultComponents(); - break; - } - } - // copied from FormFixedVar, to avoid calling super.update() - if (data.action === "propertyChange") { - this.reset(); - } + super.update(sender, data); if (sender instanceof SelectFieldNub) { const nub = this._currentNub as PbCloison; -- GitLab From 8186d79bf45303c546be987b678e8e2fb4854bf5 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Thu, 25 Jun 2020 16:53:57 +0200 Subject: [PATCH 079/117] PreBarrage: add default structure when adding wall --- src/app/formulaire/definition/form-prebarrage.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 063d37ecf..0199451c3 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -106,7 +106,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from… ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(wallForm); // add fieldsets for existing Structures - console.log(`Node ${node.uid} : ${node.structures.length} structures, Form ${this.uid} : ${this._kids.length} form elements`); if (node.structures.length > 0) { for (const struct of node.structures) { for (const e of wallForm.allFormElements) { @@ -116,8 +115,13 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } } } else { - // if there was no existing structure, add a default one ! @TODO - console.log("TODO add default structure"); + // if there was no existing structure, add a default one + for (const e of wallForm.allFormElements) { + if (e instanceof FieldsetContainer) { + e.addFromTemplate(0); + break; + } + } } this.showFormElements(wallForm); } -- GitLab From 2539ca71945562c9635cafad9842c37070c22511 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 26 Jun 2020 14:43:40 +0200 Subject: [PATCH 080/117] PreBarrage: restore missing fields in Cloison editor --- src/app/calculators/prebarrage/config.json | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json index 7aa71a6d9..1e6b68147 100644 --- a/src/app/calculators/prebarrage/config.json +++ b/src/app/calculators/prebarrage/config.json @@ -63,24 +63,42 @@ "property": "loiDebit", "source": "device_loi_debit", "help": { - "Orifice_OrificeSubmerged": "structures/orifice_noye.html", + "SeuilRectangulaire_KIVI": "structures/kivi.html", "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html", + "SeuilRectangulaire_WeirCem88d": "structures/cem_88_d.html", + "SeuilRectangulaire_WeirCem88v": "structures/cem_88_v.html", + "SeuilRectangulaire_WeirCunge80": "structures/cunge_80.html", + "VanneRectangulaire_GateCem88d": "structures/cem_88_d.html", + "VanneRectangulaire_GateCem88v": "structures/cem_88_v.html", + "VanneRectangulaire_GateCunge80": "structures/cunge_80.html", + "Orifice_OrificeSubmerged": "structures/orifice_noye.html", + "Orifice_OrificeFree": "structures/orifice_denoye.html", "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html", + "SeuilRectangulaire_WeirSubmerged": "structures/seuil_noye.html", + "SeuilRectangulaire_WeirFree": "structures/seuil_denoye.html", "SeuilTriangulaire_TriangularWeirFree": "structures/dever_triang.html", "SeuilTriangulaire_TriangularWeirBroad": "structures/dever_triang.html", "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html" } }, - "h1", + "S", + "ZDV", "L", + "W", + "CdWS", "CdWSL", "CdWR", "CdGR", + "CdCunge", "CdT", - "S", + "CdO", + "alpha", + "beta", + "ZRAM", "alpha2", "BT", - "ZT" + "ZT", + "Zco" ] }, { -- GitLab From 250e3d8d6032b9131ad0317d40041c8a810d694a Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Fri, 26 Jun 2020 14:45:02 +0200 Subject: [PATCH 081/117] PreBarrage when deleting a wall, leave no basin without connection (connect to river upstream/downstream) prevent deletion of walls that would be restored by the aforementioned mechanism "del" hotkey to delete element on schema --- .../pb-schema/pb-schema.component.ts | 52 +++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index fa57966e7..abc16fc94 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -7,10 +7,13 @@ import { import * as mermaid from "mermaid"; +import { HotkeysService, Hotkey } from 'angular2-hotkeys'; + import { I18nService } from "../../services/internationalisation.service"; import { PbSchema } from "../../formulaire/elements/pb-schema"; import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component"; import { GenericCalculatorComponent } from "../generic-calculator/calculator.component"; +import { AppComponent } from "../../app.component"; /** * The interactive schema for calculator type "PreBarrage" (component) @@ -63,8 +66,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni public constructor( @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent, private i18nService: I18nService, + private hotkeysService: HotkeysService, private newPbCloisonDialog: MatDialog - ) { } + ) { + this.hotkeysService.add(new Hotkey("del", AppComponent.onHotkey(this.removeOnHotkey, this))); + } public get selectedItem(): any { return this._selectedItem; @@ -413,12 +419,42 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni } public get enableRemoveButton() { - return (this._selectedItem !== undefined); + if (this._selectedItem === undefined) { + return false; + } + // if deleting a PbCloison would replace it by a new one at + // the same place (@see onRemoveClick), make it not deletable + if (this._selectedItem instanceof PbCloison) { + if (( + this._selectedItem.bassinAmont !== undefined + && this._selectedItem.bassinAmont.cloisonsAval.length === 1 + && this._selectedItem.bassinAval === undefined + ) || ( + this._selectedItem.bassinAval !== undefined + && this._selectedItem.bassinAval.cloisonsAmont.length === 1 + && this._selectedItem.bassinAmont === undefined + )) { + return false; + } + } + return true; } /** Removes a basin or wall, and all related items */ public onRemoveClick() { this.model.deleteChild(this._selectedItem.findPositionInParent()); + // never let an unconnected basin ! (not done in model to prevent unwanted + // automatic child addition when clearing children) + if (this._selectedItem instanceof PbCloison) { + // if no downstream connections remain, connect to river downstream + if (this._selectedItem.bassinAmont !== undefined && this._selectedItem.bassinAmont.cloisonsAval.length === 0) { + this.model.addChild(new PbCloison(this._selectedItem.bassinAmont, undefined)); + } + // if no upstream connections remain, connect to river upstream + if (this._selectedItem.bassinAval !== undefined && this._selectedItem.bassinAval.cloisonsAmont.length === 0) { + this.model.addChild(new PbCloison(undefined, this._selectedItem.bassinAval)); + } + } this.unselect(); this.refresh(); } @@ -427,6 +463,13 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni return this.i18nService.localizeText("INFO_FIELDSET_REMOVE"); } + // listener for "del" hotkey + protected removeOnHotkey() { + if (this.enableRemoveButton) { + this.onRemoveClick(); + } + } + public get enableCopyButton() { return (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison); } @@ -559,7 +602,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni private updateValidity() { // check that at least 1 basin is present and a route from river // upstream to river downstream exists (2nd check includes 1st) - this._isValid = this.model.hasUpDownConnection(); + this._isValid = ( + this.model.hasUpDownConnection() + && ! this.model.hasBasinNotConnected() + ); console.log("schéma valide", this._isValid); this.validChange.emit(); } -- GitLab From 177ca9ce38aebed253b087967b35fbaf38496cd6 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 29 Jun 2020 11:15:13 +0200 Subject: [PATCH 082/117] Add new example: PreBarrage --- .../calculator-list.component.ts | 4 + .../pb-schema/pb-schema.component.ts | 118 --- src/app/examples/prebarrage.json | 988 ++++++++++++++++++ src/locale/messages.en.json | 1 + src/locale/messages.fr.json | 1 + 5 files changed, 994 insertions(+), 118 deletions(-) create mode 100644 src/app/examples/prebarrage.json diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts index c8482f556..5f47f388c 100644 --- a/src/app/components/calculator-list/calculator-list.component.ts +++ b/src/app/components/calculator-list/calculator-list.component.ts @@ -191,6 +191,10 @@ export class CalculatorListComponent implements OnInit { { label: this.intlService.localizeText("INFO_EXAMPLE_LABEL_PERR"), path: "perr.json" + }, + { + label: this.intlService.localizeText("INFO_EXAMPLE_LABEL_PB"), + path: "prebarrage.json" } ]; } diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index abc16fc94..3ac6e598c 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -131,19 +131,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni }); } - // debug - private createStructure(l: LoiDebit, v: number[]): Structure { - const s: Structure = CreateStructure(l); - s.prms.Q.singleValue = v[0]; - s.prms.ZDV.singleValue = v[1]; - s.prms.Z1.singleValue = v[2]; - s.prms.Z2.singleValue = v[3]; - s.getParameter("L").singleValue = v[4]; - s.getParameter("CdGR").singleValue = v[5]; - s.prms.W.singleValue = v[6]; - return s; - } - /** * Builds a Mermaid graph text definition, using Nodes * to represent basins as well as walls; sorts connexions @@ -163,111 +150,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni def.push("classDef basin fill:#e0f3fb,stroke:#003A80;"); // irstea-ocean 50 / 500 def.push("classDef node-highlighted fill:#4DBBE9;"); // irstea-ocean (material "accent"), 300 - // debug - if (this.model.children.length === 0) { - // EXEMPLE 1 (petit) - /* const b1 = new PbBassin(new PbBassinParams(0.1, 42)); - this.model.addChild(b1); - const b2 = new PbBassin(new PbBassinParams(0.15, 38)); - this.model.addChild(b2); - this.model.addChild(new PbCloison(undefined, b1)); - this.model.addChild(new PbCloison(b1, b2)); - this.model.addChild(new PbCloison(b2, undefined)); - this.model.addChild(new PbCloison(b1, undefined)); */ - - // EXEMPLE 2 (grand) - this.model.addChild(new PbBassin(new PbBassinParams(13.80, 95))); - this.model.addChild(new PbBassin(new PbBassinParams(15.40, 94.70))); - this.model.addChild(new PbBassin(new PbBassinParams(16.20, 94.70))); - this.model.addChild(new PbBassin(new PbBassinParams(17.50, 94.40))); - this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25))); - this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10))); - this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin)); - // Session.getInstance().createNub(p, this.currentNub as ParallelStructure) as Structure - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.30, 0, 0, 0.4, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 4.40, 1.04 ]) - ); - // Wall between upstream and basin 2 - this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.00, 0, 0, 1.00, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.00, 0.91 ]) - ); - // Wall between upstream and basin 5 - this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.50, 0.99 ]) - ); - // Wall between upstream and basin 6 - this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.60, 0.99 ]) - ); - // Wall between basin 1 & 3 - this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.00, 0, 0, 0.40, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.20, 0.99 ]) - ); - // Wall between basin 2 & 3 - this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 4.38, 0.91 ]) - ); - // Wall between basin 2 & 4 - this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 3.00, 0.99 ]) - ); - // Wall between basin 2 & 5 - this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.50, 0, 0, 1.00, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.75, 0, 0, 3.00, 0.99 ]) - ); - // Wall between basin 3 & 4 - this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.70, 0, 0, 0.40, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.65, 0, 0, 5.74, 0.99 ]) - ); - // Wall between basin 4 & 5 - this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.40, 0, 0, 0.40, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.35, 0, 0, 6.00, 0.99 ]) - ); - // Wall between basin 5 & 6 - this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.25, 0, 0, 0.70, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.05, 0, 0, 9.50, 0.99 ]) - ); - // Wall between basin 6 & downstream - this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined)); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.10, 0, 0, 0.95, 1.04 ]) - ); - this.model.children[this.model.children.length - 1].addChild( - this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.75, 0, 0, 10.20, 0.99 ]) - ); - } - const sortedWalls: PbCloison[] = []; for (const c of this.model.children) { if (c instanceof PbBassin) { diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json new file mode 100644 index 000000000..273cd986d --- /dev/null +++ b/src/app/examples/prebarrage.json @@ -0,0 +1,988 @@ +{ + "header": { + "source": "jalhyd", + "format_version": "1.3", + "created": "2020-06-29T08:37:22.109Z" + }, + "settings": { + "precision": 1e-7, + "maxIterations": 100, + "displayPrecision": 3 + }, + "documentation": "", + "session": [ + { + "uid": "b2kxNm", + "props": { + "calcType": "PreBarrage" + }, + "meta": { + "title": "Prébarrages" + }, + "children": [ + { + "uid": "Zjczdz", + "props": { + "calcType": "PbBassin" + }, + "children": [], + "parameters": [ + { + "symbol": "S", + "mode": "SINGLE", + "value": 13.8 + }, + { + "symbol": "ZF", + "mode": "SINGLE", + "value": 95 + } + ] + }, + { + "uid": "dWJrZX", + "props": { + "calcType": "PbBassin" + }, + "children": [], + "parameters": [ + { + "symbol": "S", + "mode": "SINGLE", + "value": 15.4 + }, + { + "symbol": "ZF", + "mode": "SINGLE", + "value": 94.7 + } + ] + }, + { + "uid": "dzMxN2", + "props": { + "calcType": "PbBassin" + }, + "children": [], + "parameters": [ + { + "symbol": "S", + "mode": "SINGLE", + "value": 16.2 + }, + { + "symbol": "ZF", + "mode": "SINGLE", + "value": 94.7 + } + ] + }, + { + "uid": "ZXZua2", + "props": { + "calcType": "PbBassin" + }, + "children": [], + "parameters": [ + { + "symbol": "S", + "mode": "SINGLE", + "value": 17.5 + }, + { + "symbol": "ZF", + "mode": "SINGLE", + "value": 94.4 + } + ] + }, + { + "uid": "YmR5aD", + "props": { + "calcType": "PbBassin" + }, + "children": [], + "parameters": [ + { + "symbol": "S", + "mode": "SINGLE", + "value": 32.1 + }, + { + "symbol": "ZF", + "mode": "SINGLE", + "value": 94.25 + } + ] + }, + { + "uid": "bDN2OW", + "props": { + "calcType": "PbBassin" + }, + "children": [], + "parameters": [ + { + "symbol": "S", + "mode": "SINGLE", + "value": 35 + }, + { + "symbol": "ZF", + "mode": "SINGLE", + "value": 94.1 + } + ] + }, + { + "uid": "MWxycH", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "", + "downstreamBasin": "Zjczdz" + }, + "children": [ + { + "uid": "MmZ2aG", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.3 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 0.4 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "eW9jZH", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 96.25 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 4.4 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "c3Zpb2", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "", + "downstreamBasin": "dWJrZX" + }, + "children": [ + { + "uid": "bTQ2cG", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 96 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 1 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "N24zM2", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 96.25 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 5 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "MG4wNG", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "", + "downstreamBasin": "YmR5aD" + }, + "children": [ + { + "uid": "azV4dj", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 96.25 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 3.5 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "YjJra2", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "", + "downstreamBasin": "bDN2OW" + }, + "children": [ + { + "uid": "aDd4Y3", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 96.25 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 3.6 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "enE4cn", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "Zjczdz", + "downstreamBasin": "dzMxN2" + }, + "children": [ + { + "uid": "ZHczZ2", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 0.4 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "aXRjZ3", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 96.25 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 5.2 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "NXNoNG", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "dWJrZX", + "downstreamBasin": "dzMxN2" + }, + "children": [ + { + "uid": "eXFqeH", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.85 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 4.38 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "bGhodG", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "dWJrZX", + "downstreamBasin": "ZXZua2" + }, + "children": [ + { + "uid": "b3Z3OD", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.85 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 3 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "MDZ3aH", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "dWJrZX", + "downstreamBasin": "YmR5aD" + }, + "children": [ + { + "uid": "NTBzZm", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.5 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 1 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "b3pjZX", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.75 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 3 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "emZ2bX", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "dzMxN2", + "downstreamBasin": "ZXZua2" + }, + "children": [ + { + "uid": "cGllNj", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 94.7 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 0.4 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "aWFseW", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.65 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 5.74 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "bG1ucj", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "ZXZua2", + "downstreamBasin": "YmR5aD" + }, + "children": [ + { + "uid": "MDJsaD", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 94.4 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 0.4 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "ZzY2bT", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.35 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 6 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "dGNnZz", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "YmR5aD", + "downstreamBasin": "bDN2OW" + }, + "children": [ + { + "uid": "dnNqeX", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 94.25 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 0.7 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "ODFkZ2", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 95.05 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 9.5 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + }, + { + "uid": "amprcm", + "props": { + "calcType": "PbCloison", + "upstreamBasin": "bDN2OW", + "downstreamBasin": "" + }, + "children": [ + { + "uid": "OG02MT", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 94.1 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 0.95 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + }, + { + "uid": "MHVxZn", + "props": { + "calcType": "Structure", + "loiDebit": "WeirCunge80", + "structureType": "SeuilRectangulaire" + }, + "children": [], + "parameters": [ + { + "symbol": "ZDV", + "mode": "SINGLE", + "value": 94.75 + }, + { + "symbol": "L", + "mode": "SINGLE", + "value": 10.2 + }, + { + "symbol": "CdCunge", + "mode": "SINGLE", + "value": 1 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "CALCUL" + }, + { + "symbol": "Z1", + "mode": "SINGLE", + "value": 0 + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 0 + } + ] + } + ], + "parameters": [ + { + "symbol": "Q", + "mode": "SINGLE", + "value": 1 + }, + { + "symbol": "Z1", + "mode": "CALCUL" + }, + { + "symbol": "Z2", + "mode": "SINGLE", + "value": 100 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 1f047724a..db13bcf97 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -522,6 +522,7 @@ "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Standard fish ladder", "INFO_EXAMPLE_LABEL_PAB_ECH_TRIANG": "Triangular weirs fish ladder", "INFO_EXAMPLE_LABEL_PENTE_CRITIQUE_CANAL": "Canal critical slope", + "INFO_EXAMPLE_LABEL_PB": "Pre-dam", "INFO_EXAMPLE_LABEL_PERR": "Rock-ramp fish pass", "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length", "INFO_EXAMPLES_TITLE": "Examples", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 8a18acb91..17286526d 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -522,6 +522,7 @@ "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Passe à bassins type", "INFO_EXAMPLE_LABEL_PAB_ECH_TRIANG": "Passe à bassins à échancrures triangulaires", "INFO_EXAMPLE_LABEL_PENTE_CRITIQUE_CANAL": "Pente critique d'un canal", + "INFO_EXAMPLE_LABEL_PB": "Pré-barrage", "INFO_EXAMPLE_LABEL_PERR": "Passe à enrochements régulièrement répartis", "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir", "INFO_EXAMPLES_TITLE": "Exemples", -- GitLab From aa8b3e9cc2485e5fa7dd786a56f2cb587b651f06 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 29 Jun 2020 11:15:41 +0200 Subject: [PATCH 083/117] Add default layout when creating new PreBarrage --- src/app/services/formulaire.service.ts | 35 +++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts index 9e3879d8a..3cb284a73 100644 --- a/src/app/services/formulaire.service.ts +++ b/src/app/services/formulaire.service.ts @@ -14,7 +14,14 @@ import { Props, Cloisons, CloisonAval, - SPP + SPP, + PreBarrage, + PbBassin, + PbBassinParams, + LoiDebit, + PbCloison, + CreateStructure, + Structure } from "jalhyd"; import { ApplicationSetupService } from "./app-setup.service"; @@ -418,6 +425,32 @@ export class FormulaireService extends Observable { newDownWall.addChild(newDownwallDevice); f.pabNub.downWall = newDownWall; } + + // when creating a new PreBarrage, add one basin and two walls with one + // device each (when loading session, those items are already present) + if ( + f instanceof FormulairePrebarrage + && f.currentNub instanceof PreBarrage + && f.currentNub.children.length === 0 + ) { + // 1 basin + f.currentNub.addChild(new PbBassin(new PbBassinParams(13.80, 95))); + // 1st wall + f.currentNub.addChild(new PbCloison(undefined, f.currentNub.children[0] as PbBassin)); + const s1: Structure = CreateStructure(LoiDebit.WeirCunge80); + s1.prms.ZDV.singleValue = 95.30; + s1.getParameter("L").singleValue = 0.4; + s1.getParameter("CdGR").singleValue = 1.04; + f.currentNub.children[1].addChild(s1); + // 2nd wall + f.currentNub.addChild(new PbCloison(f.currentNub.children[0] as PbBassin, undefined)); + const s2: Structure = CreateStructure(LoiDebit.WeirCunge80); + s2.prms.ZDV.singleValue = 95.30; + s2.getParameter("L").singleValue = 0.4; + s2.getParameter("CdGR").singleValue = 1.04; + f.currentNub.children[2].addChild(s2); + } + this.notifyObservers({ "action": "createForm", "form": f -- GitLab From d883aaca9c1fac3478c513c4673c35f3d66cc5be Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 29 Jun 2020 15:20:25 +0200 Subject: [PATCH 084/117] Parameter config: option to disable calculability in GUI --- src/app/formulaire/elements/ngparam.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/app/formulaire/elements/ngparam.ts b/src/app/formulaire/elements/ngparam.ts index 0a8baafb2..154299564 100644 --- a/src/app/formulaire/elements/ngparam.ts +++ b/src/app/formulaire/elements/ngparam.ts @@ -456,6 +456,9 @@ export class NgParameter extends InputField implements Observer { } this.unit = this.paramDefinition.unit; this.radioConfig = this.getRadioConfig(); + if (json["calculable"] !== undefined && json["calculable"] === false) { + this.radioConfig = Math.min(ParamCalculability.FREE, this.getRadioConfig()); + } } // interface Observer -- GitLab From 730bdede62c4c4c439f83403545a57de13276b2e Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Mon, 29 Jun 2020 15:20:39 +0200 Subject: [PATCH 085/117] Updated PreBarrage example --- src/app/calculators/prebarrage/config.json | 90 +++++++-- src/app/examples/prebarrage.json | 206 ++------------------- 2 files changed, 85 insertions(+), 211 deletions(-) diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json index 1e6b68147..e68895e29 100644 --- a/src/app/calculators/prebarrage/config.json +++ b/src/app/calculators/prebarrage/config.json @@ -81,24 +81,78 @@ "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html" } }, - "S", - "ZDV", - "L", - "W", - "CdWS", - "CdWSL", - "CdWR", - "CdGR", - "CdCunge", - "CdT", - "CdO", - "alpha", - "beta", - "ZRAM", - "alpha2", - "BT", - "ZT", - "Zco" + { + "id": "S", + "calculable": false + }, + { + "id": "ZDV", + "calculable": false + }, + { + "id": "L", + "calculable": false + }, + { + "id": "W", + "calculable": false + }, + { + "id": "CdWS", + "calculable": false + }, + { + "id": "CdWSL", + "calculable": false + }, + { + "id": "CdWR", + "calculable": false + }, + { + "id": "CdGR", + "calculable": false + }, + { + "id": "CdCunge", + "calculable": false + }, + { + "id": "CdT", + "calculable": false + }, + { + "id": "CdO", + "calculable": false + }, + { + "id": "alpha", + "calculable": false + }, + { + "id": "beta", + "calculable": false + }, + { + "id": "ZRAM", + "calculable": false + }, + { + "id": "alpha2", + "calculable": false + }, + { + "id": "BT", + "calculable": false + }, + { + "id": "ZT", + "calculable": false + }, + { + "id": "Zco", + "calculable": false + } ] }, { diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json index 273cd986d..339101438 100644 --- a/src/app/examples/prebarrage.json +++ b/src/app/examples/prebarrage.json @@ -2,7 +2,7 @@ "header": { "source": "jalhyd", "format_version": "1.3", - "created": "2020-06-29T08:37:22.109Z" + "created": "2020-06-29T13:15:21.029Z" }, "settings": { "precision": 1e-7, @@ -195,22 +195,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "c3Zpb2", @@ -273,22 +258,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "MG4wNG", @@ -325,22 +295,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "YjJra2", @@ -377,22 +332,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "enE4cn", @@ -455,22 +395,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "NXNoNG", @@ -507,22 +432,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "bGhodG", @@ -559,22 +469,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "MDZ3aH", @@ -637,22 +532,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "emZ2bX", @@ -715,22 +595,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "bG1ucj", @@ -793,22 +658,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "dGNnZz", @@ -871,22 +721,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] }, { "uid": "amprcm", @@ -949,22 +784,7 @@ ] } ], - "parameters": [ - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 0 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 0 - } - ] + "parameters": [] } ], "parameters": [ -- GitLab From 92a448961bc55f9a904e68e89dd5dd189cd5f935 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 30 Jun 2020 12:14:32 +0200 Subject: [PATCH 086/117] Patch lifecycle issue when switching from a PreBarrage to another --- .../generic-calculator/calculator.component.html | 10 +++++++--- .../generic-calculator/calculator.component.ts | 2 -- src/app/components/pb-schema/pb-schema.component.ts | 11 +++++++---- src/app/formulaire/definition/form-definition.ts | 6 ------ 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html index 6ef040218..ceb091d14 100644 --- a/src/app/components/generic-calculator/calculator.component.html +++ b/src/app/components/generic-calculator/calculator.component.html @@ -77,9 +77,13 @@ fxFlex.lt-md="1 0 500px" fxFlex.lt-sm="1 0 300px"> - <pb-schema [pbSchema]="formElements[0]" (radio)=onRadioClick($event) - (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)"> - </pb-schema> + <!-- without this loop, injecting formElements[0] in <pb-schema> makes it not + trigger lifecycle hooks when switching from a PreBarrage module to another… --> + <ng-template ngFor let-fe [ngForOf]="formElements"> + <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]="fe" (radio)=onRadioClick($event) + (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)"> + </pb-schema> + </ng-template> <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div> </div> diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index ca655a3e5..bdfd11828 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -441,8 +441,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe this._calculatorNameComponent.model = this._formulaire; // reload localisation in all cases this.formulaireService.loadUpdateFormulaireLocalisation(this._formulaire); - // call Form init hook - this._formulaire.onCalculatorInit(); break; } } else if (sender instanceof FormulaireDefinition) { diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 3ac6e598c..615af66cd 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -2,12 +2,12 @@ import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChil import { MatDialog } from "@angular/material/dialog"; import { - PreBarrage, PbBassin, PbBassinParams, PbCloison, CreateStructure, LoiDebit, Structure, Observer, IObservable + PreBarrage, PbBassin, PbBassinParams, PbCloison, Observer, IObservable } from "jalhyd"; import * as mermaid from "mermaid"; -import { HotkeysService, Hotkey } from 'angular2-hotkeys'; +import { HotkeysService, Hotkey } from "angular2-hotkeys"; import { I18nService } from "../../services/internationalisation.service"; import { PbSchema } from "../../formulaire/elements/pb-schema"; @@ -115,10 +115,12 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni } public ngAfterViewInit(): void { - this.refreshEventListeners(); - this.updateValidity(); // subscribe to "refresh" event passed indirectly by FormulairePbCloison (change upstream/downstream basin) this.pbSchema.addObserver(this); + // @WARNING clodo trick to prevent blank diagram when switching from a PreBarrage to another + setTimeout(() => { + this.refresh(); + }, 10); } /** Add click listener on every node and link in the graph */ @@ -360,6 +362,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni public onCopyClick() { const wall = this._selectedItem as PbCloison; const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval); + wallCopy.loadObjectRepresentation(wall.objectRepresentation()); this.model.addChild(wallCopy); this.unselect(); this.refresh(); diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 721715aef..17f206891 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -441,12 +441,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs return new TopFormulaireElementIterator(this); } - /** - * Appelé par CalculatorComponent lorsque le Formulaire est chargé dans la vue, - * c'est à dire lorsqu'on affiche un module de calcul à l'écran - */ - public onCalculatorInit() {} - // interface Observer public update(sender: any, data: any) { -- GitLab From c2770dc31f29681f6af73d826c66e7bb2a1d7ca6 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 30 Jun 2020 16:02:58 +0200 Subject: [PATCH 087/117] Lint code --- src/app/app.component.ts | 9 ++++----- src/app/app.module.ts | 2 +- .../calculator-list/calculator-list.component.ts | 2 +- .../dialog-edit-param-values.component.ts | 5 ++++- .../dialog-load-session.component.ts | 2 +- .../dialog-new-pb-cloison.component.ts | 10 +++++----- .../components/jet-results/jet-results.component.ts | 2 +- src/app/formulaire/elements/select-field.ts | 2 -- src/app/services/app-setup.service.ts | 2 +- src/app/services/formulaire.service.ts | 4 ++-- src/app/services/internationalisation.service.ts | 3 ++- 11 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 4aab33e64..8ceb96f89 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy, HostListener, ViewChild, ElementRef } from "@angular/core"; +import { Component, OnInit, OnDestroy, HostListener, ViewChild, ElementRef, isDevMode } from "@angular/core"; import { Router, Event, NavigationEnd, ActivationEnd } from "@angular/router"; import { MatDialog } from "@angular/material/dialog"; import { MatSidenav } from "@angular/material/sidenav"; @@ -7,7 +7,6 @@ import { CdkDragDrop, moveItemInArray } from "@angular/cdk/drag-drop"; import { Observer, jalhydDateRev, jalhydVersion, CalculatorType, Session } from "jalhyd"; -import { environment } from "../environments/environment"; import { I18nService } from "./services/internationalisation.service"; import { ErrorService } from "./services/error.service"; import { FormulaireService } from "./services/formulaire.service"; @@ -659,7 +658,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer { const existingNotes = Session.getInstance().documentation; // load try { - const data = await this.formulaireService.loadSession(f, info) + const data = await this.formulaireService.loadSession(f, info); if (data.hasErrors) { this.notificationsService.notify(this.intlService.localizeText("ERROR_PROBLEM_LOADING_SESSION"), 3500); } else { @@ -678,7 +677,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer { } } } - } catch(err) { + } catch (err) { this.notificationsService.notify(this.intlService.localizeText("ERROR_LOADING_SESSION"), 3500); console.error("error loading session - ", err); // rollback to ensure session is clean @@ -863,7 +862,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer { @HostListener("window:beforeunload", [ "$event" ]) confirmExit($event) { if ( this.appSetupService.warnBeforeTabClose - && environment.production // otherwise prevents dev server to reload app after recompiling + && ! isDevMode() // otherwise prevents dev server to reload app after recompiling ) { // affecter une valeur différente de null provoque l'affichage d'un dialogue de confirmation, mais le texte n'est pas affiché $event.returnValue = "Your data will be lost !"; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e7d78e13b..6cade944f 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -85,7 +85,7 @@ import { ParamLinkComponent } from "./components/param-link/param-link.component import { SelectModelFieldLineComponent } from "./components/select-model-field-line/select-model-field-line.component"; import { PabProfileChartComponent } from "./components/pab-profile-chart/pab-profile-chart.component"; import { PabTableComponent } from "./components/pab-table/pab-table.component"; -import { PbSchemaComponent } from './components/pb-schema/pb-schema.component'; +import { PbSchemaComponent } from "./components/pb-schema/pb-schema.component"; import { VariableResultsSelectorComponent } from "./components/variable-results-selector/variable-results-selector.component"; import { QuicknavComponent } from "./components/quicknav/quicknav.component"; import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component"; diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts index 5f47f388c..81b255b73 100644 --- a/src/app/components/calculator-list/calculator-list.component.ts +++ b/src/app/components/calculator-list/calculator-list.component.ts @@ -205,7 +205,7 @@ export class CalculatorListComponent implements OnInit { const d = await this.httpService.httpGetBlobRequestPromise(realPath); const f: any = new Blob([d], { type: "application/json" }); this.appComponent.loadSessionFile(f); - } catch(e) { + } catch (e) { console.error("could not load session file", e); } } diff --git a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts index 7da1e632c..3c419f000 100644 --- a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts +++ b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts @@ -215,7 +215,10 @@ export class DialogEditParamValuesComponent implements OnInit { if (this.param.paramDefinition.step === 0) { return 0; } else { - return Math.max(0, Math.ceil((this.param.paramDefinition.max - this.param.paramDefinition.min) / this.param.paramDefinition.step) + 1); + return Math.max( + 0, + Math.ceil((this.param.paramDefinition.max - this.param.paramDefinition.min) / this.param.paramDefinition.step) + 1 + ); } } catch (e) { // min > max or something, silent fail diff --git a/src/app/components/dialog-load-session/dialog-load-session.component.ts b/src/app/components/dialog-load-session/dialog-load-session.component.ts index 291de8698..3f1af0f0d 100644 --- a/src/app/components/dialog-load-session/dialog-load-session.component.ts +++ b/src/app/components/dialog-load-session/dialog-load-session.component.ts @@ -161,7 +161,7 @@ export class DialogLoadSessionComponent { } } this.loadingComplete = true; - } catch(err) { + } catch (err) { console.error(err); this.loadingError = true; } diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts index 7798238d6..a249ca814 100644 --- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts +++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts @@ -33,7 +33,7 @@ export class DialogNewPbCloisonComponent implements OnInit { public get availableUpstreamIndexes(): number[] { // add river upstream as "0" - let ab: number[] = [ 0 ]; + const ab: number[] = [ 0 ]; for (let i = 0; i < this.availableBasins.length; i++) { ab.push(i + 1); } @@ -41,7 +41,7 @@ export class DialogNewPbCloisonComponent implements OnInit { } public get availableDownstreamIndexes(): number[] { - let ab: number[] = [ ]; + const ab: number[] = [ ]; for (let i = 0; i < this.availableBasins.length; i++) { ab.push(i + 1); } @@ -58,9 +58,9 @@ export class DialogNewPbCloisonComponent implements OnInit { */ public basinIsSelectable(index: number, downstream: boolean = false): boolean { if (downstream) { - return (this.upstreamIndex === 0 || index > this.upstreamIndex) + return (this.upstreamIndex === 0 || index > this.upstreamIndex); } else { - return (this.downstreamIndex === 0 || index < this.downstreamIndex) + return (this.downstreamIndex === 0 || index < this.downstreamIndex); } } @@ -117,7 +117,7 @@ export class DialogNewPbCloisonComponent implements OnInit { public get uitextValidate() { return this.i18nService.localizeText("INFO_OPTION_VALIDATE"); } - + public get uitextCancel() { return this.i18nService.localizeText("INFO_OPTION_CANCEL"); } diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts index 50d8a1a1d..9d991de25 100644 --- a/src/app/components/jet-results/jet-results.component.ts +++ b/src/app/components/jet-results/jet-results.component.ts @@ -28,7 +28,7 @@ export class JetResultsComponent extends FixedVarResultsComponent { return this.hasResults && ( this._fixedResults && this._fixedResults.result && this._fixedResults.result.sourceNub.result.ok || - this._varResults&& this._varResults.result && this._varResults.result.sourceNub.result.ok + this._varResults && this._varResults.result && this._varResults.result.sourceNub.result.ok ); } diff --git a/src/app/formulaire/elements/select-field.ts b/src/app/formulaire/elements/select-field.ts index 2557eb0f6..f43004c79 100644 --- a/src/app/formulaire/elements/select-field.ts +++ b/src/app/formulaire/elements/select-field.ts @@ -196,8 +196,6 @@ export class SelectField extends Field { const loiDebit = child.properties.getPropValue("loiDebit"); const stCode = StructureProperties.findCompatibleStructure(loiDebit, nub as ParallelStructure); const stName = StructureType[stCode]; - // console.log(`__device_loi_debit__ : child=${child.constructor.name}, loiDebit=${loiDebit}, stCode=${stCode}, stName=${stName}`); - // console.log("(child.properties)", child.properties.props); for (const ld of la[stName]) { const e: SelectEntry = new SelectEntry(this._entriesBaseId + stName + "_" + LoiDebit[ld], ld); this.addEntry(e); diff --git a/src/app/services/app-setup.service.ts b/src/app/services/app-setup.service.ts index 7a2d2a30b..e31d1e37b 100644 --- a/src/app/services/app-setup.service.ts +++ b/src/app/services/app-setup.service.ts @@ -115,7 +115,7 @@ export class ApplicationSetupService extends Observable { * Restore configuration values */ public async restoreDefaultValues(): Promise<any> { - await this.readValuesFromConfig() + await this.readValuesFromConfig(); // notify I18nService this.notifyObservers({ action: "languagePreferenceChanged", diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts index 3cb284a73..6650d9ff0 100644 --- a/src/app/services/formulaire.service.ts +++ b/src/app/services/formulaire.service.ts @@ -96,7 +96,7 @@ export class FormulaireService extends Observable { try { const localisation = await this.loadLocalisationForLang(calc, lang); return localisation as StringMap; - } catch(e) { + } catch (e) { console.error(e); // try default lang (the one in the config file) ? const fallbackLang = this.appSetupService.fallbackLanguage; @@ -125,7 +125,7 @@ export class FormulaireService extends Observable { this._languageCache[ct] = this._languageCache[ct] || {}; this._languageCache[ct][lang] = localisation; return localisation as StringMap; - } catch(e) { + } catch (e) { throw new Error(`LOCALISATION_FILE_NOT_FOUND "${f}"`); } } diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts index 50e1e4cbe..07faaaf93 100644 --- a/src/app/services/internationalisation.service.ts +++ b/src/app/services/internationalisation.service.ts @@ -186,7 +186,8 @@ export class I18nService extends Observable implements Observer { // replace "FORM_ID_X" by form name in current session, if any m = m.replace(/FORM_ID_(\w{6})/g, (match, p1) => { - const form = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(p1); // cannot inject FormulaireService => cyclic dependency :/ + // cannot inject FormulaireService => cyclic dependency :/ + const form = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(p1); let formName = "**UNKNOWN_FORM**"; if (form !== undefined) { formName = form.calculatorName; -- GitLab From 9446cea3df9ee37aaba25ca4a2f5830d95bed6b5 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 30 Jun 2020 17:12:50 +0200 Subject: [PATCH 088/117] Removed unused code --- src/app/app.component.ts | 18 +----------------- src/app/services/error.service.ts | 12 ------------ 2 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 src/app/services/error.service.ts diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 8ceb96f89..a5f015149 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -8,7 +8,6 @@ import { CdkDragDrop, moveItemInArray } from "@angular/cdk/drag-drop"; import { Observer, jalhydDateRev, jalhydVersion, CalculatorType, Session } from "jalhyd"; import { I18nService } from "./services/internationalisation.service"; -import { ErrorService } from "./services/error.service"; import { FormulaireService } from "./services/formulaire.service"; import { FormulaireDefinition } from "./formulaire/definition/form-definition"; import { ServiceFactory } from "./services/service-factory"; @@ -43,8 +42,7 @@ declare let device: any; @Component({ selector: "nghyd-app", templateUrl: "./app.component.html", - styleUrls: ["./app.component.scss"], - providers: [ErrorService] + styleUrls: ["./app.component.scss"] }) export class AppComponent implements OnInit, OnDestroy, Observer { @@ -81,7 +79,6 @@ export class AppComponent implements OnInit, OnDestroy, Observer { constructor( private intlService: I18nService, private appSetupService: ApplicationSetupService, - private errorService: ErrorService, private router: Router, private formulaireService: FormulaireService, private httpService: HttpService, @@ -279,12 +276,10 @@ export class AppComponent implements OnInit, OnDestroy, Observer { */ ngOnInit() { this.formulaireService.addObserver(this); - this.subscribeErrorService(); this._innerWidth = window.innerWidth; } ngOnDestroy() { - this.unsubscribeErrorService(); this.formulaireService.removeObserver(this); } @@ -411,17 +406,6 @@ export class AppComponent implements OnInit, OnDestroy, Observer { return fits; } - /** - * abonnement au service d'erreurs - */ - private subscribeErrorService() { - this.errorService.addObserver(this); - } - - private unsubscribeErrorService() { - this.errorService.removeObserver(this); - } - public get enableHeaderDoc(): boolean { return this.currentRoute === "/list" && this._calculators.length === 0; } diff --git a/src/app/services/error.service.ts b/src/app/services/error.service.ts deleted file mode 100644 index 77620c3b7..000000000 --- a/src/app/services/error.service.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Injectable } from "@angular/core"; - -import { Observable } from "jalhyd"; - -@Injectable() -export class ErrorService extends Observable { - // TODO: add explicit constructor - - doAlert(m: string) { - this.notifyObservers(m); - } -} -- GitLab From a49c6487fd39867bc923e60d903ff9834484972a Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 30 Jun 2020 17:13:11 +0200 Subject: [PATCH 089/117] [WIP] PreBarrage results --- src/app/app.module.ts | 4 + src/app/calculators/prebarrage/fr.json | 15 +- .../calculator-results.component.html | 1 + .../calculator-results.component.ts | 10 + .../fixed-results.component.html | 1 - .../fixed-results.component.ts | 1 + .../calculator.component.ts | 6 +- .../pb-results-table.component.html | 30 ++ .../pb-results-table.component.scss | 52 +++ .../pb-results/pb-results-table.component.ts | 143 ++++++++ .../pb-results/pb-results.component.html | 23 ++ .../pb-results/pb-results.component.scss | 4 + .../pb-results/pb-results.component.ts | 324 ++++++++++++++++++ .../formulaire/definition/form-prebarrage.ts | 95 ++++- src/app/results/prebarrage-results.ts | 111 ++++++ src/locale/messages.en.json | 1 + src/locale/messages.fr.json | 1 + 17 files changed, 817 insertions(+), 5 deletions(-) create mode 100644 src/app/components/pb-results/pb-results-table.component.html create mode 100644 src/app/components/pb-results/pb-results-table.component.scss create mode 100644 src/app/components/pb-results/pb-results-table.component.ts create mode 100644 src/app/components/pb-results/pb-results.component.html create mode 100644 src/app/components/pb-results/pb-results.component.scss create mode 100644 src/app/components/pb-results/pb-results.component.ts create mode 100644 src/app/results/prebarrage-results.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6cade944f..e60a467cc 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -73,6 +73,8 @@ import { RemousResultsComponent } from "./components/remous-results/remous-resul import { ResultsChartComponent } from "./components/results-chart/results-chart.component"; import { PabResultsComponent } from "./components/pab-results/pab-results.component"; import { PabResultsTableComponent } from "./components/pab-results/pab-results-table.component"; +import { PbResultsComponent } from "./components/pb-results/pb-results.component"; +import { PbResultsTableComponent } from "./components/pb-results/pb-results-table.component"; import { ChartTypeSelectComponent } from "./components/results-chart/chart-type.component"; import { LogComponent } from "./components/log/log.component"; import { CalculatorListComponent } from "./components/calculator-list/calculator-list.component"; @@ -221,6 +223,8 @@ const appRoutes: Routes = [ PabResultsComponent, PabResultsTableComponent, PabTableComponent, + PbResultsComponent, + PbResultsTableComponent, PbSchemaComponent, VariableResultsSelectorComponent, MacrorugoCompoundResultsComponent, diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json index 287b79352..7b3f06d22 100644 --- a/src/app/calculators/prebarrage/fr.json +++ b/src/app/calculators/prebarrage/fr.json @@ -3,5 +3,18 @@ "Q": "Débit", "Z1": "Cote de l'eau amont", - "Z2": "Cote de l'eau aval" + "Z2": "Cote de l'eau aval", + + "Z": "Cote de l'eau", + "S": "Surface", + "ZF": "Cote de fond", + "PV": "Puissance dissipée", + "YMOY": "Profondeur moyenne", + + "UNIT_Q": "m³/s", + "UNIT_S": "m²", + "UNIT_Z": "m", + "UNIT_ZF": "m", + "UNIT_YMOY": "m", + "UNIT_PV": "W/m³" } diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html index e15f90423..8f454d811 100644 --- a/src/app/components/calculator-results/calculator-results.component.html +++ b/src/app/components/calculator-results/calculator-results.component.html @@ -2,6 +2,7 @@ <section-results></section-results> <remous-results></remous-results> <pab-results></pab-results> + <pb-results></pb-results> <macrorugo-compound-results></macrorugo-compound-results> <jet-results></jet-results> <fixedvar-results></fixedvar-results> diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts index 133296818..1965eae43 100644 --- a/src/app/components/calculator-results/calculator-results.component.ts +++ b/src/app/components/calculator-results/calculator-results.component.ts @@ -8,6 +8,7 @@ import { MacrorugoCompoundResultsComponent } from "../macrorugo-compound-results import { FormulaireDefinition } from "../../formulaire/definition/form-definition"; import { JetResultsComponent } from "../jet-results/jet-results.component"; import { GenericCalculatorComponent } from "../generic-calculator/calculator.component"; +import { PbResultsComponent } from "../pb-results/pb-results.component"; @Component({ selector: "calc-results", @@ -41,6 +42,12 @@ export class CalculatorResultsComponent implements AfterViewChecked { @ViewChild(PabResultsComponent, { static: true }) private pabResultsComponent: PabResultsComponent; + /** + * composant d'affichage des résultats des prébarrages + */ + @ViewChild(PbResultsComponent, { static: true }) + private pbResultsComponent: PbResultsComponent; + /** * composant d'affichage des résultats des passes à macrorugosités complexes */ @@ -70,12 +77,14 @@ export class CalculatorResultsComponent implements AfterViewChecked { this.sectionResultsComponent.results = undefined; this.remousResultsComponent.results = undefined; this.pabResultsComponent.results = undefined; + this.pbResultsComponent.results = undefined; this.mrcResultsComponent.results = undefined; this.jetResultsComponent.results = undefined; } else { this.sectionResultsComponent.results = f.results; this.remousResultsComponent.results = f.results; this.pabResultsComponent.results = f.results; + this.pbResultsComponent.results = f.results; this.mrcResultsComponent.results = f.results; // FixedVar and Jet are mutually incompatible (the 2nd extend the 1st) if (this.isJet) { @@ -93,6 +102,7 @@ export class CalculatorResultsComponent implements AfterViewChecked { this.sectionResultsComponent.updateView(); this.remousResultsComponent.updateView(); this.pabResultsComponent.updateView(); + this.pbResultsComponent.updateView(); this.mrcResultsComponent.updateView(); this.jetResultsComponent.updateView(); } diff --git a/src/app/components/fixedvar-results/fixed-results.component.html b/src/app/components/fixedvar-results/fixed-results.component.html index 723677e79..46791f57e 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.html +++ b/src/app/components/fixedvar-results/fixed-results.component.html @@ -5,7 +5,6 @@ <mat-icon color="primary">file_download</mat-icon> </button> </div> - <!-- table des résultats fixés --> <div class="fixed-results-inner-container" #tableContainer> <table mat-table [dataSource]="dataSet" [trackBy]="tbIndex"> diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index afb476e03..ef9af04a6 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -36,6 +36,7 @@ export class FixedResultsComponent extends ResultsComponentDirective { } public set results(r: FixedResults) { + console.log("->->->->-> je suis FRC et j'ai reçu des résultats", r === undefined ? "keud" : r.result); this._fixedResults = r; } diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index bdfd11828..2378518f5 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -569,9 +569,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe /** réception d'un événement de clic sur un nœud du schéma de PréBarrage */ public onPBNodeSelected(event: any) { - this.showPBInputData = true; // @TODO pas forcément ! (résultats de l'élément cliqué) - // show proper form (actually subform elements) depending on what was clicked + // show proper form (actually subform elements) or proper results, + // depending on what was clicked (this._formulaire as FormulairePrebarrage).nodeSelected(event.node); + // refresh results component + this.resultsComponent.updateView(); } public openHelp() { diff --git a/src/app/components/pb-results/pb-results-table.component.html b/src/app/components/pb-results/pb-results-table.component.html new file mode 100644 index 000000000..75f0451ff --- /dev/null +++ b/src/app/components/pb-results/pb-results-table.component.html @@ -0,0 +1,30 @@ +<div class="pb-results-table-container" #pbResultsTable fxLayout="row wrap" fxLayoutAlign="center center"> + <div fxFlex="1 1 100%"> + <div class="pb-results-table-buttons"> + <button mat-icon-button (click)="exportAsSpreadsheet()" [title]="uitextExportAsSpreadsheet"> + <mat-icon color="primary">file_download</mat-icon> + </button> + <button mat-icon-button *ngIf="! isFullscreen" (click)="setFullscreen(pbResultsTable)" [title]="uitextEnterFSTitle"> + <mat-icon color="primary" class="scaled12">fullscreen</mat-icon> + </button> + <button mat-icon-button *ngIf="isFullscreen" (click)="exitFullscreen()" [title]="uitextExitFSTitle"> + <mat-icon color="primary" class="scaled12">fullscreen_exit</mat-icon> + </button> + </div> + + <div class="pb-results-table-scrollable-container" [ngClass]="{'full-height': isFullscreen}"> + <!-- scrollable --> + <div class="pb-results-table-inner-container" #tableContainer> + <table mat-table [dataSource]="dataSet"> + <ng-container *ngFor="let h of headers; let i = index" [matColumnDef]="h"> + <th mat-header-cell *matHeaderCellDef [innerHTML]="h"></th> + <td mat-cell *matCellDef="let element" [innerHTML]="element[i]"></td> + </ng-container> + + <tr mat-header-row *matHeaderRowDef="headers"></tr> + <tr mat-row *matRowDef="let row; columns: headers;"></tr> + </table> + </div> + </div> + </div> +</div> diff --git a/src/app/components/pb-results/pb-results-table.component.scss b/src/app/components/pb-results/pb-results-table.component.scss new file mode 100644 index 000000000..9e49c5ca0 --- /dev/null +++ b/src/app/components/pb-results/pb-results-table.component.scss @@ -0,0 +1,52 @@ +/** @see additional styles in src/styles.css */ + +:host { + display: block; + margin-bottom: 1.5em; +} + +.pb-results-table-container { + background-color: white; +} + +.pb-results-table-buttons { + padding-right: 4px; + padding-top: 4px; + text-align: right; + background-color: white; + + button { + margin-left: 3px; + width: auto; + + mat-icon { + &.scaled12 { + transform: scale(1.2) + } + } + } +} + +.pb-results-table-scrollable-container { + overflow-x: scroll; + border: solid #ccc 1px; + + &.full-height { + height: calc(100vh - 40px); // rend le mode plein-écran scrollable verticalement, sinon ça dépasse + } +} + +table.mat-table { + + .mat-header-row { + height: 40px; + } + + .mat-row { + height: 32px; + + &:nth-child(odd) { + background-color: #f4f4f4; + } + } +} diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts new file mode 100644 index 000000000..b1ab9838b --- /dev/null +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -0,0 +1,143 @@ +import { Component, ViewChild, ElementRef } from "@angular/core"; + +import { PreBarrage, PbBassin } from "jalhyd"; + +import { I18nService } from "../../services/internationalisation.service"; +import { ResultsComponentDirective } from "../fixedvar-results/results.component"; +import { AppComponent } from "../../app.component"; +import { fv } from "../../util"; +import { PrebarrageResults } from "../../results/prebarrage-results"; + +@Component({ + selector: "pb-results-table", + templateUrl: "./pb-results-table.component.html", + styleUrls: [ + "./pb-results-table.component.scss" + ] +}) +export class PbResultsTableComponent extends ResultsComponentDirective { + + /** résultats non mis en forme */ + private _pbResults: PrebarrageResults; + + /** entêtes des colonnes */ + private _headers: string[]; + + /** résultats mis en forme */ + private _dataSet: any[]; + + @ViewChild("tableContainer") + table: ElementRef; + + constructor( + protected intlService: I18nService + ) { + super(); + } + + /* private getJetTypes(re: Result, vi: number): string { + // jet type for each device + const devices = re.sourceNub.getChildren(); + const jetTypes: string[] = devices.map((device) => { + const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType"); + let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt); + if (devices.length > 1) { + // evil HTML injection in table cell (simpler) + jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°" + + (device.findPositionInParent() + 1) + ": " + jetType; + } + return jetType; + }); + return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`; + } */ + + public set results(r: PrebarrageResults) { + this._pbResults = r; + console.log("Set results dans PBRTC !", r); + + this._dataSet = []; + if ( + this._pbResults + && this._pbResults.bassinsResults + && this._pbResults.bassinsResults.length > 0 + && ! this._pbResults.hasOnlyErrors() + ) { + const pr = this._pbResults; + const pb = pr.result.sourceNub as PreBarrage; + // when a parameter is variating, index of the variating parameter + // values to build the data from + const vi = pr.variableIndex; + + // refresh headers here if language changed + this._headers = pr.headers; + + // upstream line + if (pr.result.resultElements[vi].vCalc) { // le calcul peut avoir échoué + this._dataSet.push([ + this.intlService.localizeText("INFO_LIB_AMONT"), + "", "", + fv(pb.prms.Z1.V), + "", "", + fv(pb.prms.Q.V) + ]); + } + + // basins 1 - n + for (let i = 0; i < pr.bassinsResults.length; i++) { + if ( + Object.keys(pr.bassinsResults[i].resultElements[vi].values).length > 0 // no vCalc in this case + ) { + const rb = pr.bassinsResults[i].resultElements[vi].values; + const basin = pr.bassinsResults[i].sourceNub as PbBassin; + this._dataSet.push([ + i + 1, // n° cloison + fv(basin.prms.S.V), + fv(basin.prms.ZF.V), + fv(rb.Z), + fv(rb.PV), + fv(rb.YMOY), + fv(rb.Q) + ]); + } + } + + // downstream line + if (pr.result.resultElements[vi].vCalc) { // le calcul peut avoir échoué + this._dataSet.push([ + this.intlService.localizeText("INFO_LIB_AVAL"), + "", "", + fv(pb.prms.Z2.V), + "", "", + fv(pb.prms.Q.V) + ]); + } + } + } + + public get headers() { + return this._headers; + } + + /** + * Returns a combination of parameters and results for mat-table + */ + public get dataSet() { + return this._dataSet; + } + + public exportAsSpreadsheet() { + AppComponent.exportAsSpreadsheet(this.table.nativeElement); + } + + public get uitextExportAsSpreadsheet() { + return this.intlService.localizeText("INFO_RESULTS_EXPORT_AS_SPREADSHEET"); + } + + public get uitextEnterFSTitle() { + return this.intlService.localizeText("INFO_CHART_BUTTON_TITLE_ENTER_FS"); + } + + public get uitextExitFSTitle() { + return this.intlService.localizeText("INFO_CHART_BUTTON_TITLE_EXIT_FS"); + } +} diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html new file mode 100644 index 000000000..db8aa6d91 --- /dev/null +++ b/src/app/components/pb-results/pb-results.component.html @@ -0,0 +1,23 @@ +<div class="container"> + + <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log> + + <variable-results-selector [results]="pbResults" (indexChange)="variableIndexChanged()"> + </variable-results-selector> + + <log #iterationLog></log> + + <!-- tableau de résultats des bassins --> + <pb-results-table *ngIf="showBasinsResults" [results]="pbResults"></pb-results-table> + + <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]" + [currentItem]="'charts'" [align]="'left'"></quicknav> --> + + <!-- <div id="pb-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> + <pb-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + </pb-profile-chart> + <results-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + </results-chart> + </div> --> + +</div> diff --git a/src/app/components/pb-results/pb-results.component.scss b/src/app/components/pb-results/pb-results.component.scss new file mode 100644 index 000000000..446313ba6 --- /dev/null +++ b/src/app/components/pb-results/pb-results.component.scss @@ -0,0 +1,4 @@ +results-chart { + margin-left: 1em; + margin-right: 1em; +} diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts new file mode 100644 index 000000000..5a031da13 --- /dev/null +++ b/src/app/components/pb-results/pb-results.component.ts @@ -0,0 +1,324 @@ +import { Component, ViewChild, DoCheck } from "@angular/core"; + +import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd"; + +import { LogComponent } from "../log/log.component"; +import { CalculatorResults } from "../../results/calculator-results"; +import { PbResultsTableComponent } from "./pb-results-table.component"; +import { PrebarrageResults } from "../../results/prebarrage-results"; +import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; +import { I18nService } from "../../services/internationalisation.service"; +import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component"; +import { FixedResults } from "../../results/fixed-results"; + +@Component({ + selector: "pb-results", + templateUrl: "./pb-results.component.html", + styleUrls: [ + "./pb-results.component.scss" + ] +}) +export class PbResultsComponent implements DoCheck { + + /** résultats des bassins, non mis en forme */ + private _pbResults: PrebarrageResults; + + /** true si les résultats doiventt être remis à jour */ + private _doUpdate = false; + + @ViewChild(PbResultsTableComponent) + private pbResultsTableComponent: PbResultsTableComponent; + + @ViewChild(VariableResultsSelectorComponent) + private variableResultsSelectorComponent: VariableResultsSelectorComponent; + + @ViewChild("generalLog") + private generalLogComponent: LogComponent; + + @ViewChild("iterationLog") + private iterationLogComponent: LogComponent; + + /* @ViewChild(PabProfileChartComponent) + private profileChartComponent: PabProfileChartComponent; */ + + constructor( + private i18nService: I18nService, + ) { } + + public set results(rs: CalculatorResults[]) { + this._pbResults = undefined; + for (const r of rs) { + if (r instanceof PrebarrageResults) { + this._pbResults = r as PrebarrageResults; + } + } + this.updateView(); + } + + public get pbResults() { + return this._pbResults; + } + + public get hasResults(): boolean { + return this._pbResults && this._pbResults.hasResults; + } + + public get showBasinsResults(): boolean { + let ret = this._pbResults && this._pbResults.hasResults; + if ( + this._pbResults + && this._pbResults.variatedParameters + && this._pbResults.variatedParameters.length > 0 + ) { + ret = ret + && this._pbResults.variableIndex !== undefined + && this._pbResults.result.resultElements[this._pbResults.variableIndex] !== undefined + && this._pbResults.result.resultElements[this._pbResults.variableIndex].ok; + } + return ret; + } + + /** + * update results table and chart when the variable index changed (event sent by + * PabVariableResultsSelectorComponent); variable index is already set in + * pabResults at this time + */ + public variableIndexChanged() { + this.updateView(); + } + + public updateView() { + if (this.iterationLogComponent) { + this.iterationLogComponent.log = undefined; + } + if (this.generalLogComponent) { + this.generalLogComponent.log = undefined; + } + if (this.pbResultsTableComponent) { + this.pbResultsTableComponent.results = undefined; + } + if (this.variableResultsSelectorComponent) { + this.variableResultsSelectorComponent.results = undefined; + } + /* if (this.profileChartComponent) { + this.profileChartComponent.results = undefined; + } */ + // set _doUpdate flag so that results are rebuilt on the next Angular display cycle + this._doUpdate = false; + if (this._pbResults !== undefined) { + this._doUpdate = this._doUpdate || this._pbResults.hasResults || this._pbResults.hasLog; + } + } + + public ngDoCheck() { + if (this._doUpdate) { + this._doUpdate = !this.updateResults(); + } + } + + /* private mergeGlobalLog(result: Result, log: cLog) { + if (result) { + if (result.hasGlobalLog()) { + log.addLog(result.globalLog); + } + // if no parameter is varying, 1st element log is considered "global" + if (this.pbResults.variatedParameters.length === 0) { + if (result.hasResultElements() && result.resultElement.hasLog()) { + log.addLog(result.log); + } + } + } + } */ + + /** + * Returns the number of errors, warnings, infos among children logs + */ + /* private logStats(): any { + const ret = { + info: 0, + warning: 0, + error: 0 + }; + if (this._pbResults.result && this._pbResults.result.hasLog()) { + for (const re of this._pbResults.result.resultElements) { + if (re.hasLog()) { + for (const m of re.log.messages) { + const s = m.getSeverity(); + switch (s) { + case MessageSeverity.INFO: + ret.info ++; + break; + case MessageSeverity.WARNING: + ret.warning ++; + break; + case MessageSeverity.ERROR: + ret.error ++; + break; + } + } + } + } + } + for (const cr of this._pbResults.cloisonsResults) { + if (cr && cr.hasLog()) { + for (const re of cr.resultElements) { + if (re.hasLog()) { + for (const m of re.log.messages) { + const s = m.getSeverity(); + switch (s) { + case MessageSeverity.INFO: + ret.info ++; + break; + case MessageSeverity.WARNING: + ret.warning ++; + break; + case MessageSeverity.ERROR: + ret.error ++; + break; + } + } + } + } + } + } + if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.hasLog()) { + for (const re of this._pbResults.cloisonAvalResults.resultElements) { + if (re.hasLog()) { + for (const m of re.log.messages) { + const s = m.getSeverity(); + switch (s) { + case MessageSeverity.INFO: + ret.info ++; + break; + case MessageSeverity.WARNING: + ret.warning ++; + break; + case MessageSeverity.ERROR: + ret.error ++; + break; + } + } + } + } + } + return ret; + } */ + + /* + * Retourne les logs à afficher dans le composant de log global, au dessus + * du sélecteur d'itération : messages globaux et / ou résumé des messages + * spécifiques à chaque ResultElement + */ + /* private get globalLog(): cLog { + const l = new cLog(); + if (this._pbResults && this.pbResults.variatedParameters.length > 0) { + this.mergeGlobalLog(this._pbResults.result, l); + // un problème avec la PAB en général / les cloisons, à une étape quelconque ? + if ( + (this.pbResults.hasLog) + && l.messages.length === 0 // existing global messages make generic message below useless + ) { + const logStats = this.logStats(); + const m = new Message(MessageCode.WARNING_PROBLEMS_ENCOUNTERED); + m.extraVar.info = "" + logStats.info; // to avoid displaying fixed number of digits + m.extraVar.warning = "" + logStats.warning; + m.extraVar.error = "" + logStats.error; + l.add(m); + // l.add(new Message(MessageCode.WARNING_PROBLEMS_ENCOUNTERED)); + } + } // sinon pas de log global (aucun paramètre ne varie) + return l; + } */ + + /** + * Retourne les logs à afficher dans le composant de log global, au dessus + * du sélecteur d'itération : messages globaux et / ou résumé des messages + * spécifiques à chaque ResultElement + */ + /* private get iterationLog(): cLog { + const l = new cLog(); + if (this._pbResults) { + if (this.pbResults.variatedParameters.length > 0) { + // A. si un paramètre varie + const vi = this._pbResults.variableIndex; + // log de la PAB pour l'itération en cours + if ( + this._pbResults.result + && this._pbResults.result.hasResultElements() + && this._pbResults.result.resultElements[vi] + && this._pbResults.result.resultElements[vi].hasLog() + ) { + l.addLog(this._pbResults.result.resultElements[vi].log); + } + // logs des enfants pour l'itération en cours + for (const cr of this._pbResults.cloisonsResults) { + if (cr && cr.hasResultElements() && cr.resultElements[vi].hasLog()) { + l.addLog(cr.resultElements[vi].log); + } + } + if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElements[vi].hasLog()) { + l.addLog(this._pbResults.cloisonAvalResults.resultElements[vi].log); + } + } else { + // B. si aucun paramètre ne varie + this.mergeGlobalLog(this._pbResults.result, l); // faut bien mettre le log global quelque part + // logs des enfants + for (const cr of this._pbResults.cloisonsResults) { + if (cr && cr.hasResultElements() && cr.resultElement.hasLog()) { + l.addLog(cr.resultElement.log); + } + } + if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElement.hasLog()) { + l.addLog(this._pbResults.cloisonAvalResults.resultElement.log); + } + } + } + return l; + } */ + + /** + * met à jour l'affichage des résultats + * @returns true si les résultats ont pu être mis à jour + */ + private updateResults() { + console.log("------------ update results -----------"); + let pabUpdated: boolean; + let profileChartUpdated: boolean; + let selectorUpdated: boolean; + + // results or not, there might be a log + const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ? + if (logUpdated) { + // order of logs is important ! + /* this.iterationLogComponent.log = this.iterationLog; + this.generalLogComponent.log = this.globalLog; */ + } + + if (this.hasResults) { + pabUpdated = this.pbResultsTableComponent !== undefined; + if (pabUpdated) { + this.pbResultsTableComponent.results = this._pbResults; + } + selectorUpdated = this.variableResultsSelectorComponent !== undefined; + if (selectorUpdated) { + this.variableResultsSelectorComponent.results = this._pbResults; + } + /* profileChartUpdated = this.profileChartComponent !== undefined; + if (profileChartUpdated) { + this.profileChartComponent.results = this._pbResults; + this.profileChartComponent.updateView(); + } */ + } else { + pabUpdated = true; + profileChartUpdated = true; + selectorUpdated = true; + } + + return pabUpdated && logUpdated && profileChartUpdated && selectorUpdated; + } + + public get uitextGeneralLogTitle(): string { + return this.i18nService.localizeText("INFO_TITREJOURNAL_GLOBAL"); + } + +} diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 0199451c3..8cd692893 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -1,4 +1,4 @@ -import { CalculatorType, PbBassin, PbCloison, IObservable } from "jalhyd"; +import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage } from "jalhyd"; import { FormulaireFixedVar } from "./form-fixedvar"; import { PbSchema } from "../elements/pb-schema"; @@ -6,6 +6,9 @@ import { FormulaireDefinition } from "./form-definition"; import { ServiceFactory } from "../../services/service-factory"; import { FormulairePbCloison } from "./form-pb-cloison"; import { FieldsetContainer } from "../elements/fieldset-container"; +import { CalculatorResults } from "../../results/calculator-results"; +import { PrebarrageResults } from "../../results/prebarrage-results"; +import { NgParameter } from "../elements/ngparam"; /** * Formulaire pour les PréBarrage @@ -24,6 +27,34 @@ export class FormulairePrebarrage extends FormulaireFixedVar { /** configuration for re-creating wall form every time needed */ private wallFormConfig: string; + protected _selectedItem: PbBassin | PbCloison; + + protected _pbResults: PrebarrageResults; + + constructor() { + super(); + this._pbResults = new PrebarrageResults(); + } + + /* public get pbNub(): PreBarrage { + return this.currentNub as PreBarrage; + } */ + + public get pbResults(): PrebarrageResults { + return this._pbResults; + } + + public get results(): CalculatorResults[] { + // ensure help links are propagated + this._pbResults.helpLinks = this.helpLinks; + console.log("RENVOI", [ this.fixedResults, this._pbResults ]); + return [ this.fixedResults, this._pbResults ]; + } + + public get hasResults(): boolean { + return this._pbResults.hasResults; + } + public parseConfig(json?: {}) { if (json !== undefined) { this._jsonConfig = json; @@ -82,7 +113,15 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.kids.push(sch); } + /** + * Déclenché par CalculatorComponent lorsque le schéma de prébarrage + * envoie un événement "nodeSelected" (on a cliqué sur un nœud) + */ public nodeSelected(node: PbBassin | PbCloison) { + // store for results formatting + this._selectedItem = node; + this.reaffectResultComponents(); + // show only the relevant form if (node === undefined) { this.showFormElements(this.riverForm); @@ -156,4 +195,58 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } } } + + protected compute() { + this.runNubCalc(this.currentNub); + this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization + // reset variable index to avoid trying to access an index > 0 when nothing varies + const pabr = this.pbResults; + pabr.variableIndex = 0; + + this.reaffectResultComponents(); + } + + protected reaffectResultComponents() { + const pb: PreBarrage = (this.currentNub as PreBarrage); + const computedParam: NgParameter = this.getComputedParameter(); + const varParams: NgParameter[] = this.getVariatedParameters(); + + // pour le sélecteur d'itérations + if (varParams) { + this.pbResults.variatedParameters = varParams; + } + + // résultats selon l'objet sélectionné sur le schéma + if (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison) { + // cacher les résultats de bassins + this.pbResults.reset(); + + // afficher les résultats de cloison + console.log("RRC => cloison !", this._selectedItem.uid, this._selectedItem.result); + this.fixedResults.result = this._selectedItem.result; + if (computedParam !== undefined) { + this.fixedResults.calculatedParameter = computedParam; + } + } else { + // cacher les résultats de la cloison + this.fixedResults.reset(); + this.addFixedParameters(); + + // afficher les résultats des bassins + this.pbResults.reset(); + // résultat général du Nub (amont, aval, débit) + this.pbResults.result = pb.result; + this.pbResults.calculatedParameter = computedParam; + // résultat de chaque bassin + for (const b of pb.bassins) { + this.pbResults.bassinsResults.push(b.result); + } + } + } + + public resetResults() { + super.resetResults(); + this._fixedResults.reset(); + this._pbResults.reset(); + } } diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts new file mode 100644 index 000000000..cea988714 --- /dev/null +++ b/src/app/results/prebarrage-results.ts @@ -0,0 +1,111 @@ +import { Result } from "jalhyd"; + +import { ServiceFactory } from "../services/service-factory"; +import { MultiDimensionResults } from "./multidimension-results"; + +export class PrebarrageResults extends MultiDimensionResults { + + /** résultats des bassins, dans l'ordre */ + public bassinsResults: Result[]; + + /** symboles des colonnes de résultat */ + protected _columns: string[]; + + public constructor() { + super(); + this.reset(); + // standard headers + this._columns = [ + "BASSIN", + "S", + "ZF", + "Z", + "PV", + "YMOY", + "Q" + ]; + } + + /** headers symbols */ + public get columns() { + return this._columns; + } + + /** translated headers texts */ + public get headers() { + return this._columns.map((h) => { + // calculator type for translation + const sn = this.result.sourceNub; + let ct = sn.calcType; + if (sn.parent) { + ct = sn.parent.calcType; + } + let label = ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct , h); + label += this.getHelpLink(h); + return label; + }); + } + + public reset() { + super.reset(); + this.bassinsResults = []; + this.result = undefined; + } + + /** + * Returns true if at least one log message is present in the PAB result or any + * of the children results + */ + public get hasLog(): boolean { + if (this.bassinsResults) { + for (const cr of this.bassinsResults) { + if (cr && cr.hasLog()) { + return true; + } + } + } + return (this.result && this.result.hasLog()); + } + + // do not test result.ok else log messages will prevent partial results from being displayed + public get hasResults(): boolean { + return this.result !== undefined && ! this.result.hasOnlyErrors; + } + + /** retourne true si au moins un calcul a échoué (le log a un code négatif) */ + public hasError(): boolean { + let err = false; + // log principal + err = (err || this.result.hasErrorMessages()); + // logs des bassins + for (const c of this.bassinsResults) { + err = (err || c.hasErrorMessages()); + } + + return err; + } + + /** retourne true si le calcul à l'itération i a échoué */ + public iterationHasError(i: number): boolean { + let err = this.result.resultElements[i].hasErrorMessages(); + // logs des bassins + for (const c of this.bassinsResults) { + err = (err || c.resultElements[i].hasErrorMessages()); + } + + return err; + } + + /** retourne true si tous les calculs ont échoué */ + public hasOnlyErrors(): boolean { + let err = true; + // log principal + err = (err && this.result.hasOnlyErrors); + // logs des bassins + for (const c of this.bassinsResults) { + err = (err && c.hasOnlyErrors); + } + + return err; + } +} diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index db13bcf97..999715697 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -217,6 +217,7 @@ "INFO_LIB_AMONT": "Upstream", "INFO_LIB_AVAL": "Downstream", "INFO_LIB_B": "Surface width", + "INFO_LIB_BASSIN": "Basin", "INFO_LIB_BB": "Pool width", "INFO_LIB_BETA": "Beta coefficient", "INFO_LIB_BT": "Half opening of the triangle", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 17286526d..7c9254fe8 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -217,6 +217,7 @@ "INFO_LIB_AMONT": "Amont", "INFO_LIB_AVAL": "Aval", "INFO_LIB_B": "Largeur au miroir", + "INFO_LIB_BASSIN": "Bassin", "INFO_LIB_BB": "Largeur du bassin", "INFO_LIB_BETA": "Coefficient béta", "INFO_LIB_BT": "Demi-ouverture du triangle", -- GitLab From 11b3a5888f634dc693e1adbac6c0226a73eacea4 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 6 Jul 2020 14:30:57 +0200 Subject: [PATCH 090/117] Disable CLI analytics in config file (easier for CI) --- angular.json | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/angular.json b/angular.json index 5e5ff3530..5242f68a4 100644 --- a/angular.json +++ b/angular.json @@ -22,9 +22,21 @@ "src/locale", "src/favicon.ico", "src/.htaccess", - { "glob": "**/*.json", "input": "src/", "output": "/" }, - { "glob": "**/*.md", "input": "src/", "output": "/" }, - { "glob": "**/*.png", "input": "src/", "output": "/" } + { + "glob": "**/*.json", + "input": "src/", + "output": "/" + }, + { + "glob": "**/*.md", + "input": "src/", + "output": "/" + }, + { + "glob": "**/*.png", + "input": "src/", + "output": "/" + } ], "styles": [ "src/styles.scss", @@ -156,5 +168,8 @@ "@schematics/angular:directive": { "prefix": "app" } + }, + "cli": { + "analytics": false } } \ No newline at end of file -- GitLab From 679ede5f4d8d60b379505bdb46c36ec20a5eca06 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 7 Jul 2020 13:45:40 +0200 Subject: [PATCH 091/117] Updated e2e for PreBarrage --- e2e/calculator.po.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/e2e/calculator.po.ts b/e2e/calculator.po.ts index 1edff79f8..1f6459a1a 100644 --- a/e2e/calculator.po.ts +++ b/e2e/calculator.po.ts @@ -129,6 +129,8 @@ export class CalculatorPage { || await element(by.css("pab-results pab-results-table")).isPresent() || + await element(by.css("pb-results pb-results-table")).isPresent() + || await element(by.css("macrorugo-compound-results macrorugo-compound-results-table")).isPresent() || await element(by.css("jet-results .fixed-results-container")).isPresent() -- GitLab From 82724574762d946d55b2ef30c46998c349d10084 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 7 Jul 2020 13:45:50 +0200 Subject: [PATCH 092/117] Updated dependencies --- package-lock.json | 1161 +++++++++++++++++++++++---------------------- package.json | 14 +- 2 files changed, 596 insertions(+), 579 deletions(-) diff --git a/package-lock.json b/package-lock.json index 19e987aa4..3bc4005a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,12 @@ "dev": true }, "@angular-devkit/architect": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.9.tgz", - "integrity": "sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA==", + "version": "0.901.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.10.tgz", + "integrity": "sha512-JRYT5wBLe0zb1VoQIVV/Q6RmwW1whYMb4wx9LwEFvux6qzaHit/xaWV2xCIarZzM/LR3fOwk2bQjkRrS4/yJfg==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", + "@angular-devkit/core": "9.1.10", "rxjs": "6.5.4" }, "dependencies": { @@ -38,21 +38,21 @@ } }, "@angular-devkit/build-angular": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.9.tgz", - "integrity": "sha512-eC6iZQR5tr9dz/SkR3/3Y8Fau/2IzEfHlFCf2mqsOLkbc0MWyM/3RcuZQhRGdVOyzDCIbfzJGY0N3ejkEn2EUg==", + "version": "0.901.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.10.tgz", + "integrity": "sha512-1OU5wuKNA9fIOyPOgNyRwom2W8KnWNiIeDNenDgPdU0qhzUS6xEGZH9LQbu6siWUtEfltxTJWC73wZWm78LYMA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.9", - "@angular-devkit/build-optimizer": "0.901.9", - "@angular-devkit/build-webpack": "0.901.9", - "@angular-devkit/core": "9.1.9", + "@angular-devkit/architect": "0.901.10", + "@angular-devkit/build-optimizer": "0.901.10", + "@angular-devkit/build-webpack": "0.901.10", + "@angular-devkit/core": "9.1.10", "@babel/core": "7.9.0", "@babel/generator": "7.9.3", "@babel/preset-env": "7.9.0", "@babel/template": "7.8.6", "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "9.1.9", + "@ngtools/webpack": "9.1.10", "ajv": "6.12.0", "autoprefixer": "9.7.4", "babel-loader": "8.0.6", @@ -60,7 +60,7 @@ "cacache": "15.0.0", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "6.0.2", + "copy-webpack-plugin": "6.0.3", "core-js": "3.6.4", "css-loader": "3.5.1", "cssnano": "4.1.10", @@ -202,9 +202,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz", - "integrity": "sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ==", + "version": "0.901.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.10.tgz", + "integrity": "sha512-twbHoicbxEfSqPWD8BroYrAjUdCTFlp4RSEL/da/UI7QuDPIWILsKVLAGeBMD3NII8VfOw746S5oZQbrvYU/aQ==", "dev": true, "requires": { "loader-utils": "2.0.0", @@ -229,13 +229,13 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.9.tgz", - "integrity": "sha512-Bha9LruitixhtJm72FGzqfDfgsOsrMT3EbNSql2muyoELIYbLDOvNZjcDD06CPcOAWSg6/tH9caOTFS2Zj9yOw==", + "version": "0.901.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.10.tgz", + "integrity": "sha512-7rMH7vehVCTlP1y1h0rAKCYAksnDOWTUIjJ2mdfCvVy3CHrqcBMk68748bv3AOvNY6jzppHh8XD/SyMSh2cmzQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.9", - "@angular-devkit/core": "9.1.9", + "@angular-devkit/architect": "0.901.10", + "@angular-devkit/core": "9.1.10", "rxjs": "6.5.4" }, "dependencies": { @@ -257,9 +257,9 @@ } }, "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "9.1.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.10.tgz", + "integrity": "sha512-HPY/ifVqNd0Muh2RG1wyWQAxPhLgscDyhE5rBty6LVr7i5VwqJpSD5F0NTOemV8SXAyZ5orn1MVWO/TmL6ktrw==", "dev": true, "requires": { "ajv": "6.12.0", @@ -311,12 +311,12 @@ } }, "@angular-devkit/schematics": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz", - "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==", + "version": "9.1.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.10.tgz", + "integrity": "sha512-rMNK2/cWSWhTB35nu9oxPyr130qq/OGkRctAHHG8bGm4K6RH30bPTjbHNbo3L2dc3ZJLHoE9Y8uGMLrZ2XqtNQ==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", + "@angular-devkit/core": "9.1.10", "ora": "4.0.3", "rxjs": "6.5.4" }, @@ -360,16 +360,16 @@ } }, "@angular/cli": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.9.tgz", - "integrity": "sha512-k8C0OY3oHoixd3buCgF8+VFe8YZGSGiprnbVMEF2WJHUUw87lPCu/d7dbID3AtVwdKdAB275rAt6IZEIzXInbw==", + "version": "9.1.10", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.10.tgz", + "integrity": "sha512-jCxdw+oCK1ZgkBoD/TE8wKMoByaxHj8eb3yv4gB62aL66dg3A8MAPEQBOD7K3tBYDnxE6Z7QX+3f2Xc5Ivfvdw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.9", - "@angular-devkit/core": "9.1.9", - "@angular-devkit/schematics": "9.1.9", - "@schematics/angular": "9.1.9", - "@schematics/update": "0.901.9", + "@angular-devkit/architect": "0.901.10", + "@angular-devkit/core": "9.1.10", + "@angular-devkit/schematics": "9.1.10", + "@schematics/angular": "9.1.10", + "@schematics/update": "0.901.10", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.1.1", @@ -716,9 +716,9 @@ } }, "@babel/compat-data": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz", - "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz", + "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==", "dev": true, "requires": { "browserslist": "^4.12.0", @@ -751,21 +751,21 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -823,31 +823,31 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", - "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz", - "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-compilation-targets": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", - "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", + "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.1", + "@babel/compat-data": "^7.10.4", "browserslist": "^4.12.0", "invariant": "^2.2.4", "levenary": "^1.1.1", @@ -855,390 +855,390 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", - "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-regex": "^7.10.1", + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", "regexpu-core": "^4.7.0" } }, "@babel/helper-define-map": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz", - "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz", + "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.3", - "@babel/types": "^7.10.3", + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.4", "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz", - "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", "dev": true, "requires": { - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-function-name": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", - "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.3", - "@babel/template": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } } } }, "@babel/helper-get-function-arity": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", - "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-hoist-variables": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz", - "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz", - "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", + "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-module-imports": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz", - "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-module-transforms": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", - "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", + "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4", "lodash": "^4.17.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } } } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz", - "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true }, "@babel/helper-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", - "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz", + "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==", "dev": true, "requires": { "lodash": "^4.17.13" } }, "@babel/helper-remap-async-to-generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz", - "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-wrap-function": "^7.10.1", - "@babel/template": "^7.10.3", - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } } } }, "@babel/helper-replace-supers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", - "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-simple-access": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", - "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } } } }, "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.4" } }, "@babel/helper-validator-identifier": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", - "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", - "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", + "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } } } }, "@babel/helpers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", - "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } } } @@ -1263,101 +1263,101 @@ } }, "@babel/parser": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", - "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", + "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz", - "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz", + "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-remap-async-to-generator": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", - "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", + "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", - "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", - "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", - "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", + "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-numeric-separator": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz", - "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.1" + "@babel/plugin-transform-parameters": "^7.10.4" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", - "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz", - "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", + "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", - "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-async-generators": { @@ -1397,12 +1397,12 @@ } }, "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", - "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -1433,318 +1433,318 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", - "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", + "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", - "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", - "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1" + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", - "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", - "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz", + "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz", - "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-define-map": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-optimise-call-expression": "^7.10.3", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz", - "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-destructuring": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", - "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", - "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", - "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", - "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-for-of": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", - "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", - "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", - "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", - "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", + "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", - "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz", + "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", - "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz", - "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz", + "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.3", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", - "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz", - "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.10.4" } }, "@babel/plugin-transform-new-target": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", - "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", + "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-object-super": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", - "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" } }, "@babel/plugin-transform-parameters": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", - "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz", + "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-property-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", - "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", + "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-regenerator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz", - "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", - "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", + "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", - "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", - "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", + "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", - "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-regex": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" } }, "@babel/plugin-transform-template-literals": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz", - "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz", + "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", - "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", - "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/preset-env": { @@ -1857,21 +1857,21 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -1879,50 +1879,50 @@ } }, "@babel/traverse": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", - "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", + "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/generator": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", - "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", + "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", "dev": true, "requires": { - "@babel/types": "^7.10.3", + "@babel/types": "^7.10.4", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -1951,12 +1951,12 @@ } }, "@babel/types": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", - "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", + "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } @@ -2373,9 +2373,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -2458,12 +2458,12 @@ } }, "@ngtools/webpack": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.9.tgz", - "integrity": "sha512-7UzRL54JcK1m2PvgpchV26TF9OYipj/8+dygdjaidqOyQujWpHncdtq/ScbUsoJ44nHjIRJPhaGE00NLpWZvnA==", + "version": "9.1.10", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.10.tgz", + "integrity": "sha512-/oRnmMfYiR0sxSuEj4hJwPgY1fxBC3iRR5ar09n0ILI5cH+zCPiC4+QhChQFkXhOYW3MjSRY6USW4Tg0pwR0gQ==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", + "@angular-devkit/core": "9.1.10", "enhanced-resolve": "4.1.1", "rxjs": "6.5.4", "webpack-sources": "1.4.3" @@ -2538,23 +2538,23 @@ } }, "@schematics/angular": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.9.tgz", - "integrity": "sha512-c8YGZ6pDfr8IDD1qaOjlEBAkEz14KFSxDj0hCWs0xIM0py513tu5sW8+ziYxGG4bgqpsgVR/KAxuY78iBfUVag==", + "version": "9.1.10", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.10.tgz", + "integrity": "sha512-zW/ujCcv8375v32O1vuwtREwOuwCwak1wsb9hTgv06vdrWEVo/0COr3Dm3RMo+9c4uYBEwwUhSiyjOxGUlVrRQ==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "@angular-devkit/schematics": "9.1.9" + "@angular-devkit/core": "9.1.10", + "@angular-devkit/schematics": "9.1.10" } }, "@schematics/update": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.9.tgz", - "integrity": "sha512-VChX0VO/oyfCF3y+HjMTU2qN3vGgJYxEI1V+Q9aAlwl95t3GAufuaFY1CNW3YV4XkYIjD88e3yWl8d5yO4qf4w==", + "version": "0.901.10", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.10.tgz", + "integrity": "sha512-apVw5ZRscQ7TODY3qGjxXACfzaSVz8aCfEZwXiE+gEn+ApnNnzHUDE1fXnIOZnnxLt7OWTekMi70sg2U9Aa00A==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "@angular-devkit/schematics": "9.1.9", + "@angular-devkit/core": "9.1.10", + "@angular-devkit/schematics": "9.1.10", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "npm-package-arg": "^8.0.0", @@ -2719,9 +2719,9 @@ "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew==" }, "@types/node": { - "version": "14.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", - "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==", + "version": "14.0.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.18.tgz", + "integrity": "sha512-0Z3nS5acM0cIV4JPzrj9g/GH0Et5vmADWtip3YOXOp1NpOLU8V3KoZDc8ny9c1pe/YSYYzQkAWob6dyV/EWg4g==", "dev": true }, "@types/pako": { @@ -4438,13 +4438,13 @@ } }, "browserslist": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.1.tgz", - "integrity": "sha512-WMjXwFtPskSW1pQUDJRxvRKRkeCr7usN0O/Za76N+F4oadaTdQHotSGcX9jT/Hs7mSKPkyMFNvqawB/1HzYDKQ==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.481", + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", "escalade": "^3.0.1", "node-releases": "^1.1.58" } @@ -4894,9 +4894,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001088", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001088.tgz", - "integrity": "sha512-6eYUrlShRYveyqKG58HcyOfPgh3zb2xqs7NvT2VVtP3hEUeeWvc3lqhpeMTxYWBBeeaT9A4bKsrtjATm66BTHg==", + "version": "1.0.30001094", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz", + "integrity": "sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA==", "dev": true }, "canonical-path": { @@ -5721,21 +5721,21 @@ "dev": true }, "copy-webpack-plugin": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.2.tgz", - "integrity": "sha512-9Gm8X0c6eXlKnmltMPFCBeGOKjtcRIyTt4VaO3k1TkNgVTe5Ov2lYsYVuyLp0kp8DItO3apewflM+1GYgh6V2Q==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz", + "integrity": "sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA==", "dev": true, "requires": { "cacache": "^15.0.4", - "fast-glob": "^3.2.2", + "fast-glob": "^3.2.4", "find-cache-dir": "^3.3.1", "glob-parent": "^5.1.1", "globby": "^11.0.1", "loader-utils": "^2.0.0", "normalize-path": "^3.0.0", - "p-limit": "^2.3.0", + "p-limit": "^3.0.1", "schema-utils": "^2.7.0", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^4.0.0", "webpack-sources": "^1.4.3" }, "dependencies": { @@ -5746,9 +5746,9 @@ "dev": true }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -5902,9 +5902,9 @@ "dev": true }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.1.tgz", + "integrity": "sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -6754,9 +6754,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -7923,9 +7923,9 @@ } }, "electron": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.5.tgz", - "integrity": "sha512-bnL9H48LuQ250DML8xUscsKiuSu+xv5umXbpBXYJ0BfvYVmFfNbG3jCfhrsH7aP6UcQKVxOG1R/oQExd0EFneQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.1.0.tgz", + "integrity": "sha512-VRAF8KX1m0py9I9sf0kw1kWfeC87mlscfFcbcRdLBsNJ44/GrJhi3+E8rKbpHUeZNQxsPaVA5Zu5Lxb6dV/scQ==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -7934,9 +7934,9 @@ }, "dependencies": { "@types/node": { - "version": "12.12.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.47.tgz", - "integrity": "sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==", + "version": "12.12.48", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.48.tgz", + "integrity": "sha512-m3Nmo/YaDUfYzdCQlxjF5pIy7TNyDTAJhIa//xtHcF0dlgYIBKULKnmloCPtByDxtZXrWV8Pge1AKT6/lRvVWg==", "dev": true } } @@ -8275,9 +8275,9 @@ } }, "electron-to-chromium": { - "version": "1.3.482", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.482.tgz", - "integrity": "sha512-iRK2JHR6Q3x20Pkl1Rf+gzalOwmVG+PF2J9BHiVOCPotloQmDSG6dT+Vtf2D+3JT3fpzoDNdtHgGuRO6OAUlhQ==", + "version": "1.3.489", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.489.tgz", + "integrity": "sha512-1FfqjT+IXbs/H9bGJwRIyQQqOXIo7mOVUnv8s7nb2ff01fD0Z8dn1YjKovLDCFe4900Dal2uutR0YzXN5ldqEQ==", "dev": true }, "elementtree": { @@ -9326,9 +9326,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -13919,9 +13919,9 @@ } }, "npm-registry-fetch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz", - "integrity": "sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.5.tgz", + "integrity": "sha512-yQ0/U4fYpCCqmueB2g8sc+89ckQ3eXpmU4+Yi2j5o/r0WkKvE2+Y0tK3DEILAtn2UaQTkjTHxIXe2/CSdit+/Q==", "dev": true, "requires": { "JSONStream": "^1.3.4", @@ -15723,9 +15723,9 @@ "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" }, "primeng": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.1.0.tgz", - "integrity": "sha512-EeW+WA7uT4/7UBJ23Gfb4x8MaTdFpeV9XxAy68K/XIoeTmZ2hNJrdVdfF63y6k7nxwA/mOrkIMshY0eM8nMzoQ==" + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.1.3.tgz", + "integrity": "sha512-5+XGWrLNYToMIXR/r+sMcGAgz/rSYjo6Ms8rygV5uuLmHNB+mXpaRxMCajKSnmVFLZPeyATtVRm9RcA4Y/VizQ==" }, "printj": { "version": "1.1.2", @@ -15740,12 +15740,6 @@ "clipboard": "^2.0.0" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -16378,9 +16372,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -16612,13 +16606,12 @@ "dev": true }, "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" + "@babel/runtime": "^7.8.4" } }, "regex-not": { @@ -16954,9 +16947,9 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", + "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", "requires": { "tslib": "^1.9.0" }, @@ -17020,9 +17013,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -17306,9 +17299,9 @@ } }, "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -18011,9 +18004,9 @@ "dev": true }, "ssf": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz", - "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", "requires": { "frac": "~1.1.2" } @@ -18511,9 +18504,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -18975,9 +18968,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -19106,6 +19099,15 @@ "ajv-keywords": "^3.4.1" } }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -20410,9 +20412,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -20532,6 +20534,15 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -21098,6 +21109,11 @@ "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" }, + "word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -21226,9 +21242,9 @@ "dev": true }, "xlsx": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.2.tgz", - "integrity": "sha512-XTqOy7YpCUtGbvCYaCh1t1RsZ/y8cSCbZCOYtqqZ4/EmHkyv+/ghxmCvvR8yc4Tn5fhny+3j7voKwJaRlffNKA==", + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.3.tgz", + "integrity": "sha512-LInZ1OK6vpe+Em8XDZ5gDH3WixARwxI7UWc+3chLeafI6gUwECEgL43k4Tjbs1uRfkxpM7wQFy5DLE0hFBRqRw==", "requires": { "adler-32": "~1.2.0", "cfb": "^1.1.4", @@ -21236,8 +21252,9 @@ "commander": "~2.17.1", "crc-32": "~1.2.0", "exit-on-epipe": "~1.0.1", - "ssf": "~0.10.3", - "wmf": "~1.0.1" + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" }, "dependencies": { "commander": { diff --git a/package.json b/package.json index 8e4a1972f..3998ce2f1 100644 --- a/package.json +++ b/package.json @@ -73,28 +73,28 @@ "ngx-matomo": "^0.1.4", "ngx-webstorage-service": "^4.1.0", "pako": "^1.0.11", - "primeng": "^9.1.0", + "primeng": "^9.1.3", "roboto-fontface": "^0.10.0", - "rxjs": "^6.5.5", + "rxjs": "^6.6.0", "screenfull": "^5.0.2", "svg-pan-zoom": "^3.6.1", "tslib": "^2.0.0", - "xlsx": "^0.16.2", + "xlsx": "^0.16.3", "zone.js": "^0.10.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.901.9", - "@angular/cli": "^9.1.9", + "@angular-devkit/build-angular": "^0.901.10", + "@angular/cli": "^9.1.10", "@angular/compiler-cli": "^9.1.11", "@angular/language-service": "^9.1.11", "@compodoc/compodoc": "^1.1.11", "@types/file-saver": "^2.0.1", "@types/jasmine": "^3.5.11", "@types/jasminewd2": "^2.0.8", - "@types/node": "^14.0.14", + "@types/node": "^14.0.18", "codelyzer": "^5.2.2", "cordova": "^9.0.0", - "electron": "^9.0.5", + "electron": "^9.1.0", "electron-builder": "^22.7.0", "fs-extra": "^9.0.1", "jasmine-core": "^3.5.0", -- GitLab From 0a9eaa22592d11fba46a96fa0fd27e5ce07b09cf Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 7 Jul 2020 15:51:36 +0200 Subject: [PATCH 093/117] Update to Angular 10 --- angular.json | 22 +- package-lock.json | 2027 ++++++++++++++++++++++++++++----------------- package.json | 38 +- 3 files changed, 1285 insertions(+), 802 deletions(-) diff --git a/angular.json b/angular.json index 5242f68a4..eab58ab6f 100644 --- a/angular.json +++ b/angular.json @@ -51,7 +51,27 @@ "node_modules/marked/lib/marked.js", "node_modules/katex/dist/katex.min.js" ], - "showCircularDependencies": false + "showCircularDependencies": false, + "allowedCommonJsDependencies": [ + "chartjs-plugin-zoom", + "angular2-chartjs/dist/chart.module", + "angular2-hotkeys.js", + "base-64", + "he", + "svg-pan-zoom", + "mermaid", + "pako", + "file-saver", + "hammerjs", + "chart.js", + "mousetrap", + "xlsx", + "scope-css", + "lodash", + "graphlibrary", + "dagre-layout", + "dagre-d3-renderer" + ] }, "configurations": { "production": { diff --git a/package-lock.json b/package-lock.json index 3bc4005a3..83e77b7e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,19 +11,19 @@ "dev": true }, "@angular-devkit/architect": { - "version": "0.901.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.10.tgz", - "integrity": "sha512-JRYT5wBLe0zb1VoQIVV/Q6RmwW1whYMb4wx9LwEFvux6qzaHit/xaWV2xCIarZzM/LR3fOwk2bQjkRrS4/yJfg==", + "version": "0.1000.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1000.1.tgz", + "integrity": "sha512-GpoJ+p38feerxwfpJgrjwv/2c47qIX+TMdfKVqbswxLnzK21hXjd0zn6UfovAFwLeL1hRu2O00NDsmQn01gdoA==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.10", - "rxjs": "6.5.4" + "@angular-devkit/core": "10.0.1", + "rxjs": "6.5.5" }, "dependencies": { "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -38,78 +38,91 @@ } }, "@angular-devkit/build-angular": { - "version": "0.901.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.10.tgz", - "integrity": "sha512-1OU5wuKNA9fIOyPOgNyRwom2W8KnWNiIeDNenDgPdU0qhzUS6xEGZH9LQbu6siWUtEfltxTJWC73wZWm78LYMA==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.10", - "@angular-devkit/build-optimizer": "0.901.10", - "@angular-devkit/build-webpack": "0.901.10", - "@angular-devkit/core": "9.1.10", - "@babel/core": "7.9.0", - "@babel/generator": "7.9.3", - "@babel/preset-env": "7.9.0", + "version": "0.1000.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1000.1.tgz", + "integrity": "sha512-rRYtHzy27BM3XjPVqlpQOs+RXAgtiT1Qr6EiLiMcb8Twg4aWHzKF+IITLQL9CSYkpOnY40vHjWZuEVu0qIhEPQ==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1000.1", + "@angular-devkit/build-optimizer": "0.1000.1", + "@angular-devkit/build-webpack": "0.1000.1", + "@angular-devkit/core": "10.0.1", + "@babel/core": "7.9.6", + "@babel/generator": "7.9.6", + "@babel/plugin-transform-runtime": "7.9.6", + "@babel/preset-env": "7.9.6", + "@babel/runtime": "7.9.6", "@babel/template": "7.8.6", "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "9.1.10", - "ajv": "6.12.0", - "autoprefixer": "9.7.4", - "babel-loader": "8.0.6", + "@ngtools/webpack": "10.0.1", + "ajv": "6.12.2", + "autoprefixer": "9.8.0", + "babel-loader": "8.1.0", "browserslist": "^4.9.1", - "cacache": "15.0.0", + "cacache": "15.0.3", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.0", "copy-webpack-plugin": "6.0.3", "core-js": "3.6.4", - "css-loader": "3.5.1", + "css-loader": "3.5.3", "cssnano": "4.1.10", "file-loader": "6.0.0", "find-cache-dir": "3.3.1", "glob": "7.1.6", - "jest-worker": "25.1.0", + "jest-worker": "26.0.0", "karma-source-map-support": "1.4.0", - "less": "3.11.3", - "less-loader": "5.0.0", - "license-webpack-plugin": "2.1.4", + "less-loader": "6.1.0", + "license-webpack-plugin": "2.2.0", "loader-utils": "2.0.0", "mini-css-extract-plugin": "0.9.0", "minimatch": "3.0.4", - "open": "7.0.3", + "open": "7.0.4", "parse5": "4.0.0", - "postcss": "7.0.27", + "pnp-webpack-plugin": "1.6.4", + "postcss": "7.0.31", "postcss-import": "12.0.1", "postcss-loader": "3.0.0", - "raw-loader": "4.0.0", + "raw-loader": "4.0.1", "regenerator-runtime": "0.13.5", + "resolve-url-loader": "3.1.1", "rimraf": "3.0.2", - "rollup": "2.1.0", - "rxjs": "6.5.4", - "sass": "1.26.3", + "rollup": "2.10.9", + "rxjs": "6.5.5", + "sass": "1.26.5", "sass-loader": "8.0.2", - "semver": "7.1.3", + "semver": "7.3.2", "source-map": "0.7.3", - "source-map-loader": "0.2.4", - "speed-measure-webpack-plugin": "1.3.1", - "style-loader": "1.1.3", + "source-map-loader": "1.0.0", + "source-map-support": "0.5.19", + "speed-measure-webpack-plugin": "1.3.3", + "style-loader": "1.2.1", "stylus": "0.54.7", "stylus-loader": "3.0.2", - "terser": "4.6.10", - "terser-webpack-plugin": "3.0.3", + "terser": "4.7.0", + "terser-webpack-plugin": "3.0.1", "tree-kill": "1.2.2", - "webpack": "4.42.0", + "webpack": "4.43.0", "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", "webpack-merge": "4.2.2", "webpack-sources": "1.4.3", - "webpack-subresource-integrity": "1.4.0", + "webpack-subresource-integrity": "1.4.1", "worker-plugin": "4.0.3" }, "dependencies": { + "@babel/runtime": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", + "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -160,24 +173,24 @@ } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "terser": { - "version": "4.6.10", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz", - "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", + "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -202,47 +215,32 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.901.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.10.tgz", - "integrity": "sha512-twbHoicbxEfSqPWD8BroYrAjUdCTFlp4RSEL/da/UI7QuDPIWILsKVLAGeBMD3NII8VfOw746S5oZQbrvYU/aQ==", + "version": "0.1000.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.1.tgz", + "integrity": "sha512-Q60lxyetBcMKUiNMc1vGUExuJMashHB9CF8HVenX80R9ihaA/GHAUrD2PbKBpLVoC4T291uUhfcA8MB1fJNRfw==", "dev": true, "requires": { "loader-utils": "2.0.0", "source-map": "0.7.3", - "tslib": "1.11.1", - "typescript": "3.6.5", + "tslib": "2.0.0", "webpack-sources": "1.4.3" - }, - "dependencies": { - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, - "typescript": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz", - "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==", - "dev": true - } } }, "@angular-devkit/build-webpack": { - "version": "0.901.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.10.tgz", - "integrity": "sha512-7rMH7vehVCTlP1y1h0rAKCYAksnDOWTUIjJ2mdfCvVy3CHrqcBMk68748bv3AOvNY6jzppHh8XD/SyMSh2cmzQ==", + "version": "0.1000.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1000.1.tgz", + "integrity": "sha512-m+abxD38LYdHw+w53Rmc4MbuwDP7rfevAZ/1QR2WFYj0BI5QsTYGlpmieI2TXiwiwvTILn9UzYZAA16nKvmUwA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.10", - "@angular-devkit/core": "9.1.10", - "rxjs": "6.5.4" + "@angular-devkit/architect": "0.1000.1", + "@angular-devkit/core": "10.0.1", + "rxjs": "6.5.5" }, "dependencies": { "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -257,22 +255,22 @@ } }, "@angular-devkit/core": { - "version": "9.1.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.10.tgz", - "integrity": "sha512-HPY/ifVqNd0Muh2RG1wyWQAxPhLgscDyhE5rBty6LVr7i5VwqJpSD5F0NTOemV8SXAyZ5orn1MVWO/TmL6ktrw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.0.1.tgz", + "integrity": "sha512-AXsxN00zbixi/9HyzzsDGm6rtMferxKfhG8WPJfp/0TLeJrmiLs5wdNjk8LhfTZABSTYx/QxRgOI6OnBoXePgg==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.2", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.5.5", "source-map": "0.7.3" }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -294,9 +292,9 @@ "dev": true }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -311,20 +309,20 @@ } }, "@angular-devkit/schematics": { - "version": "9.1.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.10.tgz", - "integrity": "sha512-rMNK2/cWSWhTB35nu9oxPyr130qq/OGkRctAHHG8bGm4K6RH30bPTjbHNbo3L2dc3ZJLHoE9Y8uGMLrZ2XqtNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.0.1.tgz", + "integrity": "sha512-lG70f4KsZews/z1npzJC7ccJgz3RXyLetyg+wa5uGWV+Silpr7XX+3U65DjPwG/+921woifeqRMbOhK+zCCaVA==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.10", - "ora": "4.0.3", - "rxjs": "6.5.4" + "@angular-devkit/core": "10.0.1", + "ora": "4.0.4", + "rxjs": "6.5.5" }, "dependencies": { "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -339,16 +337,20 @@ } }, "@angular/animations": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.11.tgz", - "integrity": "sha512-VKAExUnEJfo1PDQKagpx2pn+QMZCsPLRiADzTdl4U0VPylK3ALbn4ZNY9UbdwyE2plitz++LkH7sEGGfh+PNrQ==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-10.0.2.tgz", + "integrity": "sha512-3fMR574KnaeAon7ZlwYCB2qkUoZ255Y2KwU6Z/ki37U66QZc8XMqf/d4oUiTZgLsJG4a5Whse0IX8Jz5/HAvQQ==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/cdk": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz", - "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-10.0.1.tgz", + "integrity": "sha512-tEgaTDQplptbOf4cHHdVScH0h5QNvkWDhabAWpWaT4/dVXEsp+p2E9Pzkemesi/gNmUIetVjGaicX5VqsijZSQ==", "requires": { - "parse5": "^5.0.0" + "parse5": "^5.0.0", + "tslib": "^2.0.0" }, "dependencies": { "parse5": { @@ -360,31 +362,31 @@ } }, "@angular/cli": { - "version": "9.1.10", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.10.tgz", - "integrity": "sha512-jCxdw+oCK1ZgkBoD/TE8wKMoByaxHj8eb3yv4gB62aL66dg3A8MAPEQBOD7K3tBYDnxE6Z7QX+3f2Xc5Ivfvdw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-10.0.1.tgz", + "integrity": "sha512-6Ht3022UcaWTBDnQKgcvTHbOP4ITjzn1DcZWKN0+zKk4PNqOwWtOEF2CBokOG79gTQVdrp2p5YQo5uX6UG7KMQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.10", - "@angular-devkit/core": "9.1.10", - "@angular-devkit/schematics": "9.1.10", - "@schematics/angular": "9.1.10", - "@schematics/update": "0.901.10", + "@angular-devkit/architect": "0.1000.1", + "@angular-devkit/core": "10.0.1", + "@angular-devkit/schematics": "10.0.1", + "@schematics/angular": "10.0.1", + "@schematics/update": "0.1000.1", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.1.1", "ini": "1.3.5", "inquirer": "7.1.0", "npm-package-arg": "8.0.1", - "npm-pick-manifest": "6.0.0", - "open": "7.0.3", + "npm-pick-manifest": "6.1.0", + "open": "7.0.4", "pacote": "9.5.12", "read-package-tree": "5.3.1", "rimraf": "3.0.2", - "semver": "7.1.3", + "semver": "7.3.2", "symbol-observable": "1.2.0", "universal-analytics": "0.4.20", - "uuid": "7.0.2" + "uuid": "8.1.0" }, "dependencies": { "ansi-colors": { @@ -573,9 +575,9 @@ "dev": true }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "strip-ansi": { @@ -597,9 +599,9 @@ } }, "uuid": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", - "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz", + "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==", "dev": true }, "yallist": { @@ -611,19 +613,25 @@ } }, "@angular/common": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.11.tgz", - "integrity": "sha512-Vh5lF7zWwDK9RedmYXUc8vUXyrecR3j1mAWlTlnmcHYxxFThPzN/dr0slQcPi6nyJn0EmyRKUGvAoZx4rIb7wg==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-10.0.2.tgz", + "integrity": "sha512-zpNB2XD6jinXZjfihoO5Q1Yg7urfpZTt/fitdmwFHCcQ/1qZ9T2BVh8+VqVRkh6Pjxmtvu0uPnJ1a/aZ5f9r9A==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/compiler": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.11.tgz", - "integrity": "sha512-MbVheCG0U8gt6xtiipau20N26mD2sXjLChVmRKgO6rbDruxboNMZfEd94q9NP9JRaUsVnjXvY7GMDldoymdXig==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-10.0.2.tgz", + "integrity": "sha512-TNE5ESDlRCVneb/K62HOEgLpxuZZTlw8RcmOy5vt3SngEVc576OE/aYsEA6MCwTlqj16GLSS3jGm9HBJcBKUVw==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/compiler-cli": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.11.tgz", - "integrity": "sha512-9qIxbtpRXOQnRm6inxCa5HuH87MSuMzuceD0YBVzl8v+vLtewon9KXYMmF4kTBhWa/LEa8FrajljLh0azf3VLg==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-10.0.2.tgz", + "integrity": "sha512-LGX86k1hOyaw5aPCjFfoLuPhVLKMENOdCBeNBzZB+H2CUGHfv8OWFB1EzjZO1N07VGR7JoMx9ZWSP7ornhuS4Q==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -637,6 +645,7 @@ "semver": "^6.3.0", "source-map": "^0.6.1", "sourcemap-codec": "^1.4.8", + "tslib": "^2.0.0", "yargs": "15.3.0" }, "dependencies": { @@ -666,45 +675,66 @@ } }, "@angular/core": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.11.tgz", - "integrity": "sha512-KAlEedBo761O1aeoTJVziOSHi8Fttk9ipvbDZXYT/o0W/KdVwubxP34g9t5aD8LCcF8+L0z4VLw++HjdJAUpwg==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-10.0.2.tgz", + "integrity": "sha512-r4M1D2NOdkmmFyvYLHRYSIBKTGNXQarZHDZcm5oEq2eTsRVe2u9MYIeOpHKeVQCQK7XKQVB13IZQP3XpUvljFg==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/flex-layout": { - "version": "9.0.0-beta.31", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz", - "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA==" + "version": "10.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-10.0.0-beta.32.tgz", + "integrity": "sha512-JvuY4dUoy5jyCTIrFiq7n30Znakh1pD3nbg0h0hs2r3t1OiDQb0ZSI1wcumosG/vYHsuJQTuNhbfaIZzA1x8nA==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/forms": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.11.tgz", - "integrity": "sha512-t4WHrh6ot1r8zdV+3fJz7g9rCok77c9CiIevhH2dR/idxD+HtFR0wqmcBQzsn+rNVB0f0TiSHDrj+TeELIFyWw==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-10.0.2.tgz", + "integrity": "sha512-qnfApb5Q58SFdl8za8i6ijvP0UfVGxxTtIVnf8czVU5Jz5/KYDbPeChVw/aPl3hfXq8jt0Q6Yl99aAm/BNyhpQ==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/language-service": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.11.tgz", - "integrity": "sha512-jfm4etbqldj6MTwECwyoAs7tXEAR8K/8P8dBZnsELhY+V8oFidTJI3NY52PB3Ym7leSPorYdOAeUMMuQfPaVxg==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-10.0.2.tgz", + "integrity": "sha512-kEMJ3DkprpoGJvEjvH/PZrBKtgCbLtFYtrXHRDy2+92vgCT0Xz6TwzZ2qlwlQSijffOgsV5LwdjI4oxpgVKReQ==", "dev": true }, "@angular/material": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz", - "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA==" + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-10.0.1.tgz", + "integrity": "sha512-4xGIupOiPbyYG/tTbVhgjATRZSRf+Xj2FGkX3csSlIOvhrFtN1B9gTlcbOjzWHPpWTFChZALzMXA/841KA9QqA==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/platform-browser": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.11.tgz", - "integrity": "sha512-KDxoiFhW4UD+EqchcKpQVSLwg9Rd3JbWytZLchFV6nH8BFnshfJtw2tyPT8bMhFVG9n9zSR4QSGaozWgoDs9mw==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.0.2.tgz", + "integrity": "sha512-FLS3fYSuWvrDc7PiVCvs4joWZZxDe9+alJi90Sub1oBS/EnxmZpkS0Gr7zQv4MjAvVhNCVoTzL3CaV/SIoZqaw==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/platform-browser-dynamic": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.11.tgz", - "integrity": "sha512-Qw3rfVFF0Wtu+UwraqKPCgTA3uoNPGf4vKSfuCuXTrG0p7j+3mCP59aUv5gGH7GV1UQ++jZRx5pbWF43zrC8Hw==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.0.2.tgz", + "integrity": "sha512-R1rt1/Ynm0DHgzMBcduCPoDg2y3MrYZVgT+N0DLobr2nCaVD74vGsJBVCRv7/m1sdCxyhPlOvq8Bm5sRauw2fw==", + "requires": { + "tslib": "^2.0.0" + } }, "@angular/router": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.11.tgz", - "integrity": "sha512-D6CCDeSK/F6dWSB/a1g/zB072xG5LadLSV8afQ57oX1KHePx21LcoRG4tUtFMMHh/jZXRc9pMQIR1/9FrrXF3Q==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-10.0.2.tgz", + "integrity": "sha512-IcA3W+r5T0NC8TM4J9F0VOxG0wr7nJOSef6Qek6utZd6ByLlXxOhBrPIC5Ou+QNZeg9OuI2FBt6coea9jgmNOA==", + "requires": { + "tslib": "^2.0.0" + } }, "@babel/code-frame": { "version": "7.5.5", @@ -727,19 +757,19 @@ } }, "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", + "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", + "@babel/generator": "^7.9.6", "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", + "@babel/helpers": "^7.9.6", + "@babel/parser": "^7.9.6", "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -803,12 +833,12 @@ } }, "@babel/generator": { - "version": "7.9.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz", - "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", + "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", "dev": true, "requires": { - "@babel/types": "^7.9.0", + "@babel/types": "^7.9.6", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" @@ -1690,6 +1720,18 @@ "@babel/helper-plugin-utils": "^7.10.4" } }, + "@babel/plugin-transform-runtime": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz", + "integrity": "sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, "@babel/plugin-transform-shorthand-properties": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", @@ -1748,13 +1790,13 @@ } }, "@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", - "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz", + "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", + "@babel/compat-data": "^7.9.6", + "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3", "@babel/plugin-proposal-async-generator-functions": "^7.8.3", @@ -1762,7 +1804,7 @@ "@babel/plugin-proposal-json-strings": "^7.8.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", + "@babel/plugin-proposal-object-rest-spread": "^7.9.6", "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", "@babel/plugin-proposal-optional-chaining": "^7.9.0", "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", @@ -1779,9 +1821,9 @@ "@babel/plugin-transform-async-to-generator": "^7.8.3", "@babel/plugin-transform-block-scoped-functions": "^7.8.3", "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", + "@babel/plugin-transform-classes": "^7.9.5", "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.9.5", "@babel/plugin-transform-dotall-regex": "^7.8.3", "@babel/plugin-transform-duplicate-keys": "^7.8.3", "@babel/plugin-transform-exponentiation-operator": "^7.8.3", @@ -1789,14 +1831,14 @@ "@babel/plugin-transform-function-name": "^7.8.3", "@babel/plugin-transform-literals": "^7.8.3", "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", + "@babel/plugin-transform-modules-amd": "^7.9.6", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@babel/plugin-transform-modules-systemjs": "^7.9.6", "@babel/plugin-transform-modules-umd": "^7.9.0", "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", "@babel/plugin-transform-new-target": "^7.8.3", "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", + "@babel/plugin-transform-parameters": "^7.9.5", "@babel/plugin-transform-property-literals": "^7.8.3", "@babel/plugin-transform-regenerator": "^7.8.7", "@babel/plugin-transform-reserved-words": "^7.8.3", @@ -1807,8 +1849,8 @@ "@babel/plugin-transform-typeof-symbol": "^7.8.4", "@babel/plugin-transform-unicode-regex": "^7.8.3", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", + "@babel/types": "^7.9.6", + "browserslist": "^4.11.1", "core-js-compat": "^3.6.2", "invariant": "^2.2.2", "levenary": "^1.1.1", @@ -2457,22 +2499,44 @@ "glob-to-regexp": "^0.3.0" } }, + "@netflix/nerror": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz", + "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==", + "requires": { + "assert-plus": "^1.0.0", + "extsprintf": "^1.4.0", + "lodash": "^4.17.15" + }, + "dependencies": { + "extsprintf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", + "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, "@ngtools/webpack": { - "version": "9.1.10", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.10.tgz", - "integrity": "sha512-/oRnmMfYiR0sxSuEj4hJwPgY1fxBC3iRR5ar09n0ILI5cH+zCPiC4+QhChQFkXhOYW3MjSRY6USW4Tg0pwR0gQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.0.1.tgz", + "integrity": "sha512-/uUTczGcH2WJoVovCLHXdPdTzN0yQZontcf5MkoDjlA0selUdRFntV9cnUWoray9SVxzgoHqjRxBANCTsiiuuw==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.10", + "@angular-devkit/core": "10.0.1", "enhanced-resolve": "4.1.1", - "rxjs": "6.5.4", + "rxjs": "6.5.5", "webpack-sources": "1.4.3" }, "dependencies": { "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -2490,7 +2554,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" @@ -2499,8 +2562,7 @@ "@nodelib/fs.stat": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" } } }, @@ -2514,7 +2576,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.3", "fastq": "^1.6.0" @@ -2538,29 +2599,29 @@ } }, "@schematics/angular": { - "version": "9.1.10", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.10.tgz", - "integrity": "sha512-zW/ujCcv8375v32O1vuwtREwOuwCwak1wsb9hTgv06vdrWEVo/0COr3Dm3RMo+9c4uYBEwwUhSiyjOxGUlVrRQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-10.0.1.tgz", + "integrity": "sha512-SrWr2FzenwuofRpcaLhzJYNFVJmJwKxlKu32dWAVnclpteMO0Hnp/jVI/e70HIc6zoWzgJ4yArmwBTA+Q26yaA==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.10", - "@angular-devkit/schematics": "9.1.10" + "@angular-devkit/core": "10.0.1", + "@angular-devkit/schematics": "10.0.1" } }, "@schematics/update": { - "version": "0.901.10", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.10.tgz", - "integrity": "sha512-apVw5ZRscQ7TODY3qGjxXACfzaSVz8aCfEZwXiE+gEn+ApnNnzHUDE1fXnIOZnnxLt7OWTekMi70sg2U9Aa00A==", + "version": "0.1000.1", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1000.1.tgz", + "integrity": "sha512-AiU3RiKMfzxquzxANgDMO88iTkk9pVKQ5fZV4UwiyZO5q/fUCW4FFx9h4Nc7e9adchM+VaCz/uEAWqrVdsPv9Q==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.10", - "@angular-devkit/schematics": "9.1.10", + "@angular-devkit/core": "10.0.1", + "@angular-devkit/schematics": "10.0.1", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "npm-package-arg": "^8.0.0", "pacote": "9.5.12", - "rxjs": "6.5.4", - "semver": "7.1.3", + "rxjs": "6.5.5", + "semver": "7.3.2", "semver-intersect": "1.4.0" }, "dependencies": { @@ -2594,18 +2655,18 @@ } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "tslib": { @@ -2703,9 +2764,9 @@ "dev": true }, "@types/marked": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.4.tgz", - "integrity": "sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-1.1.0.tgz", + "integrity": "sha512-j8XXj6/l9kFvCwMyVqozznqpd/nk80krrW+QiIJN60Uu9gX5Pvn4/qPJ2YngQrR3QREPwmrE1f9/EWKVTFzoEw==" }, "@types/minimatch": { "version": "3.0.3", @@ -2787,178 +2848,177 @@ "dev": true }, "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.9.0" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, @@ -2990,6 +3050,12 @@ "through": ">=2.2.7 <3" } }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "dev": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -3036,6 +3102,53 @@ "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", "dev": true }, + "adjust-sourcemap-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", + "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==", + "dev": true, + "requires": { + "assert": "1.4.1", + "camelcase": "5.0.0", + "loader-utils": "1.2.3", + "object-path": "0.11.4", + "regex-parser": "2.2.10" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + } + } + }, "adler-32": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", @@ -3419,9 +3532,9 @@ } }, "app-root-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", - "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", "dev": true }, "aproba": { @@ -3455,6 +3568,12 @@ "commander": "^2.11.0" } }, + "arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", + "dev": true + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -3497,11 +3616,6 @@ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", "dev": true }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" - }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -3570,37 +3684,18 @@ } }, "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", "dev": true, "requires": { - "object-assign": "^4.1.1", "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } } }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { "version": "1.0.0", @@ -3709,8 +3804,7 @@ "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 + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "atob": { "version": "2.1.2", @@ -3719,18 +3813,18 @@ "dev": true }, "autoprefixer": { - "version": "9.7.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", - "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", + "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", "dev": true, "requires": { - "browserslist": "^4.8.3", - "caniuse-lite": "^1.0.30001020", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001061", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.26", - "postcss-value-parser": "^4.0.2" + "postcss": "^7.0.30", + "postcss-value-parser": "^4.1.0" } }, "aws-sign2": { @@ -3755,17 +3849,36 @@ } }, "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", "dev": true, "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" }, "dependencies": { + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, "find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", @@ -3813,6 +3926,17 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3973,7 +4097,8 @@ "big-integer": { "version": "1.6.43", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.43.tgz", - "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg==" + "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg==", + "dev": true }, "big.js": { "version": "5.2.2", @@ -4234,6 +4359,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", + "dev": true, "requires": { "big-integer": "^1.6.7" } @@ -4699,12 +4825,12 @@ "dev": true }, "cacache": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz", - "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz", + "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==", "dev": true, "requires": { - "chownr": "^1.1.2", + "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "glob": "^7.1.4", "infer-owner": "^1.0.4", @@ -4714,12 +4840,12 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.2", "mkdirp": "^1.0.3", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", + "move-file": "^2.0.0", + "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", + "rimraf": "^3.0.2", "ssri": "^8.0.0", - "tar": "^6.0.1", + "tar": "^6.0.2", "unique-filename": "^1.1.1" }, "dependencies": { @@ -4753,14 +4879,23 @@ "dev": true }, "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" } }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -5140,9 +5275,9 @@ } }, "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true }, "chrome-trace-event": { @@ -5352,22 +5487,39 @@ "dev": true }, "codelyzer": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz", - "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.0.tgz", + "integrity": "sha512-edJIQCIcxD9DhVSyBEdJ38AbLikm515Wl91t5RDGNT88uA6uQdTm4phTWfn9JhzAI8kXNUcfYyAE90lJElpGtA==", "dev": true, "requires": { - "app-root-path": "^2.2.1", + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", "aria-query": "^3.0.0", "axobject-query": "2.0.2", "css-selector-tokenizer": "^0.7.1", "cssauron": "^1.4.0", "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", "semver-dsl": "^1.0.1", "source-map": "^0.5.7", - "sprintf-js": "^1.1.2" + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" }, "dependencies": { + "@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true + }, + "@angular/core": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", + "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -5379,6 +5531,12 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true } } }, @@ -5487,25 +5645,6 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "compare-func": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", - "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^3.0.0" - }, - "dependencies": { - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "requires": { - "is-obj": "^1.0.0" - } - } - } - }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", @@ -5524,6 +5663,15 @@ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, + "compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", + "dev": true, + "requires": { + "arity-n": "^1.0.4" + } + }, "compressible": { "version": "2.0.17", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", @@ -5791,12 +5939,6 @@ "unique-filename": "^1.1.1" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6177,60 +6319,262 @@ } }, "cordova-android": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz", - "integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==", - "requires": { - "android-versions": "^1.4.0", - "compare-func": "^1.3.2", - "cordova-common": "^3.2.0", - "nopt": "^4.0.1", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.0.0.tgz", + "integrity": "sha512-2ZEgApK4LPMYW0zh/mLAH3CabzCaKE0yxQTzA2wTf0Eo2HHTJnRtDCf9spGf3nPOkubyXS6+pvzz5QzNHpVTqQ==", + "requires": { + "android-versions": "^1.5.0", + "cordova-common": "^4.0.1", + "execa": "^4.0.2", + "fs-extra": "^9.0.1", + "nopt": "^4.0.3", "properties-parser": "^0.3.1", - "q": "^1.5.1", - "shelljs": "^0.5.3" + "which": "^2.0.2" }, "dependencies": { - "cordova-common": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz", - "integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==", - "requires": { - "ansi": "^0.3.1", - "bplist-parser": "^0.1.0", - "cross-spawn": "^6.0.5", - "elementtree": "0.1.7", - "endent": "^1.1.1", - "fs-extra": "^8.0.0", - "glob": "^7.1.2", - "minimatch": "^3.0.0", + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "requires": { + "big-integer": "^1.6.44" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "cordova-common": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.0.2.tgz", + "integrity": "sha512-od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==", + "requires": { + "@netflix/nerror": "^1.1.3", + "ansi": "^0.3.1", + "bplist-parser": "^0.2.0", + "cross-spawn": "^7.0.1", + "elementtree": "^0.1.7", + "endent": "^1.4.1", + "fast-glob": "^3.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", "plist": "^3.0.1", - "q": "^1.4.1", - "strip-bom": "^3.0.0", - "underscore": "^1.8.3", - "which": "^1.3.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "q": "^1.5.1", + "read-chunk": "^3.2.0", + "strip-bom": "^4.0.0", + "underscore": "^1.9.2" } }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "endent": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", + "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", + "requires": { + "dedent": "^0.7.0", + "fast-json-parse": "^1.0.3", + "objectorarray": "^1.0.4" + } + }, + "execa": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz", + "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "objectorarray": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz", + "integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==" + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "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==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "underscore": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -6652,6 +6996,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -6733,9 +7078,9 @@ } }, "css-loader": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz", - "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", + "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -6749,7 +7094,7 @@ "postcss-modules-scope": "^2.2.0", "postcss-modules-values": "^3.0.0", "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.5", + "schema-utils": "^2.6.6", "semver": "^6.3.0" }, "dependencies": { @@ -7331,6 +7676,17 @@ "assert-plus": "^1.0.0" } }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, "date-format": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", @@ -7390,7 +7746,8 @@ "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true }, "deep-extend": { "version": "0.6.0", @@ -7441,6 +7798,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -7489,7 +7847,8 @@ "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true }, "del": { "version": "4.1.1", @@ -8354,7 +8713,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -8363,6 +8721,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/endent/-/endent-1.3.0.tgz", "integrity": "sha512-C8AryqPPwtydqcpO5AF6k9Bd1EpFkQtvsefJqS3y3n8TG13Jy63MascDxTOULZYqrUde+dK6BjNc6LIMr3iI2A==", + "dev": true, "requires": { "dedent": "^0.7.0", "fast-json-parse": "^1.0.3", @@ -8533,6 +8892,7 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, "requires": { "es-to-primitive": "^1.2.0", "function-bind": "^1.1.1", @@ -8546,6 +8906,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -9277,7 +9638,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -9640,6 +10000,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "requires": { "is-callable": "^1.1.3" } @@ -9719,7 +10080,6 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -9730,14 +10090,12 @@ "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "jsonfile": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^1.0.0" @@ -9746,8 +10104,7 @@ "universalify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" } } }, @@ -10328,7 +10685,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "genfun": { "version": "5.0.0", @@ -10379,6 +10737,7 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10662,7 +11021,8 @@ "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true }, "graphlibrary": { "version": "2.2.0", @@ -10730,6 +11090,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -10775,7 +11136,8 @@ "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true }, "has-value": { "version": "1.0.0", @@ -11111,6 +11473,11 @@ } } }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -11502,7 +11869,8 @@ "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true }, "is-ci": { "version": "2.0.0", @@ -11550,7 +11918,8 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true }, "is-descriptor": { "version": "0.1.6", @@ -11592,8 +11961,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -11661,7 +12029,8 @@ "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true }, "is-path-cwd": { "version": "1.0.0", @@ -11718,6 +12087,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, "requires": { "has": "^1.0.1" } @@ -11767,6 +12137,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, "requires": { "has-symbols": "^1.0.0" } @@ -12062,9 +12433,9 @@ "dev": true }, "jest-worker": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", - "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.0.0.tgz", + "integrity": "sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==", "dev": true, "requires": { "merge-stream": "^2.0.0", @@ -12173,6 +12544,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -12570,41 +12942,45 @@ } }, "less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.1.0.tgz", + "integrity": "sha512-/jLzOwLyqJ7Kt3xg5sHHkXtOyShWwFj410K9Si9WO+/h8rmYxxkSR0A3/hFEntWudE20zZnWMtpMYnLzqTVdUA==", "dev": true, "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" + "clone": "^2.1.2", + "less": "^3.11.1", + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.6" }, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true } } }, @@ -12634,9 +13010,9 @@ } }, "license-webpack-plugin": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz", - "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-XPsdL/0brSHf+7dXIlRqotnCQ58RX2au6otkOg4U3dm8uH+Ka/fW4iukEs95uXm+qKe/SBs+s1Ll/aQddKG+tg==", "dev": true, "requires": { "@types/webpack-sources": "^0.1.5", @@ -12864,6 +13240,12 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -13023,6 +13405,12 @@ "y18n": "^4.0.0" } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -13063,12 +13451,6 @@ } } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -13190,8 +13572,7 @@ "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.2.3", @@ -13286,8 +13667,7 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mimic-response": { "version": "1.0.1", @@ -13548,6 +13928,23 @@ "run-queue": "^1.0.3" } }, + "move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==", + "dev": true, + "requires": { + "path-exists": "^4.0.0" + }, + "dependencies": { + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -13638,15 +14035,16 @@ "integrity": "sha512-MKawthAXawXZ+pcJS6/dGuwGDunM4yuUpjLjmFlRW3pr+BbWoUFVtFNxdcf1490FkYEsLC9sfEcZ4iQkmsI8sg==" }, "ngx-markdown": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.1.1.tgz", - "integrity": "sha512-dEuR1KBa/Ivb1HT+DvSW1p6wLSx79EZz8/WpgDxiEZfL1PADTQUziNLgmtwAEgBTDjsXFhZ/Af7Zq5J9dQf6KQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-10.0.0.tgz", + "integrity": "sha512-ShBzCbV8iFBafAm8pfXa41Q8WaXvuDoiGPLol+X6mU3bfJBLo2BUKUcm0LokgelEXRfNtTIy4UW5iuMimWdmYA==", "requires": { - "@types/marked": "^0.7.4", + "@types/marked": "^1.1.0", "emoji-toolkit": "^5.5.0", "katex": "^0.11.0", "marked": "^1.1.0", - "prismjs": "^1.20.0" + "prismjs": "^1.20.0", + "tslib": "^2.0.0" }, "dependencies": { "marked": { @@ -13684,7 +14082,8 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "no-case": { "version": "2.3.2", @@ -13747,6 +14146,15 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } } } }, @@ -13760,6 +14168,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -13865,9 +14274,9 @@ } }, "npm-pick-manifest": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz", - "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", + "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", "dev": true, "requires": { "npm-install-checks": "^4.0.0", @@ -14038,7 +14447,14 @@ "object-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "dev": true + }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=", + "dev": true }, "object-visit": { "version": "1.0.1", @@ -14226,6 +14642,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz", "integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==", + "dev": true, "requires": { "tape": "^4.8.0" } @@ -14277,9 +14694,9 @@ } }, "open": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz", - "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/open/-/open-7.0.4.tgz", + "integrity": "sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==", "dev": true, "requires": { "is-docker": "^2.0.0", @@ -14327,9 +14744,9 @@ } }, "ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz", + "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==", "dev": true, "requires": { "chalk": "^3.0.0", @@ -14490,8 +14907,7 @@ "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { "version": "2.2.1", @@ -14529,8 +14945,7 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "package-json": { "version": "6.5.0", @@ -14638,6 +15053,12 @@ } } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "fs-minipass": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", @@ -14862,12 +15283,14 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "path-to-regexp": { "version": "0.1.7", @@ -15059,6 +15482,15 @@ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==", "dev": true }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -15066,9 +15498,9 @@ "dev": true }, "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "version": "7.0.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.31.tgz", + "integrity": "sha512-a937VDHE1ftkjk+8/7nj/mrjtmkn69xxzJgRETXdAUU+IgOYPQNJF17haGWbeDxSyk++HA14UA98FurvPyBJOA==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -16182,7 +16614,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -16362,13 +16793,13 @@ } }, "raw-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz", - "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz", + "integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==", "dev": true, "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.5" }, "dependencies": { "ajv": { @@ -16389,26 +16820,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -16472,7 +16883,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", - "dev": true, "requires": { "pify": "^4.0.1", "with-open-file": "^0.1.6" @@ -16481,8 +16891,7 @@ "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" } } }, @@ -16585,9 +16994,9 @@ "dev": true }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", "dev": true }, "regenerate-unicode-properties": { @@ -16624,6 +17033,12 @@ "safe-regex": "^1.1.0" } }, + "regex-parser": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", + "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==", + "dev": true + }, "regexpu-core": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", @@ -16779,6 +17194,78 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "resolve-url-loader": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz", + "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "2.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.21", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", + "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", @@ -16811,6 +17298,7 @@ "version": "0.0.0", "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "dev": true, "requires": { "through": "~2.3.4" } @@ -16830,7 +17318,30 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", + "dev": true + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", "dev": true }, "rfdc": { @@ -16900,9 +17411,9 @@ "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" }, "rollup": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz", - "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==", + "version": "2.10.9", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.10.9.tgz", + "integrity": "sha512-dY/EbjiWC17ZCUSyk14hkxATAMAShkMsD43XmZGWjLrgFj15M3Dw2kEkA9ns64BiLFm9PKN6vTQw8neHwK74eg==", "dev": true, "requires": { "fsevents": "~2.1.2" @@ -16929,8 +17440,7 @@ "run-parallel": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" }, "run-queue": { "version": "1.0.3", @@ -16991,9 +17501,9 @@ } }, "sass": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz", - "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==", + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.5.tgz", + "integrity": "sha512-FG2swzaZUiX53YzZSjSakzvGtlds0lcbF+URuU9mxOv7WBh7NhXEVDa4kPKN4hN6fC2TkOTOKqiqp6d53N9X5Q==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" @@ -17418,6 +17928,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -17425,18 +17936,13 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shelljs": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", - "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "simple-swizzle": { "version": "0.2.2", @@ -17822,34 +18328,61 @@ "dev": true }, "source-map-loader": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", - "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.0.0.tgz", + "integrity": "sha512-ZayyQCSCrQazN50aCvuS84lJT4xc1ZAcykH5blHaBdVveSwjiFK8UGMPvao0ho54DTb0Jf7m57uRRG/YYUZ2Fg==", "dev": true, "requires": { - "async": "^2.5.0", - "loader-utils": "^1.1.0" + "data-urls": "^2.0.0", + "iconv-lite": "^0.5.1", + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.6", + "source-map": "^0.6.0" }, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "iconv-lite": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz", + "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -17971,9 +18504,9 @@ } }, "speed-measure-webpack-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz", - "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz", + "integrity": "sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ==", "dev": true, "requires": { "chalk": "^2.0.1" @@ -18294,6 +18827,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "dev": true, "requires": { "define-properties": "^1.1.2", "es-abstract": "^1.5.0", @@ -18469,9 +19003,9 @@ } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" }, "strip-css-comments": { "version": "3.0.0", @@ -18487,6 +19021,11 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -18494,13 +19033,13 @@ "dev": true }, "style-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", - "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", + "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", "dev": true, "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.6.4" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.6" }, "dependencies": { "ajv": { @@ -18521,26 +19060,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -18775,6 +19294,7 @@ "version": "4.10.2", "resolved": "https://registry.npmjs.org/tape/-/tape-4.10.2.tgz", "integrity": "sha512-mgl23h7W2yuk3N85FOYrin2OvThTYWdwbk6XQ1pr2PMJieyW2FM/4Bu/+kD/wecb3aZ0Enm+Syinyq467OPq2w==", + "dev": true, "requires": { "deep-equal": "~1.0.1", "defined": "~1.0.0", @@ -18795,6 +19315,7 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -18807,17 +19328,20 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "object-inspect": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true }, "resolve": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz", "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", + "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -18838,12 +19362,6 @@ "yallist": "^4.0.0" }, "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -18951,17 +19469,17 @@ } }, "terser-webpack-plugin": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz", - "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.1.tgz", + "integrity": "sha512-eFDtq8qPUEa9hXcUzTwKXTnugIVtlqc1Z/ZVhG8LmRT3lgRY13+pQTnFLY2N7ATB6TKCHuW/IGjoAnZz9wOIqw==", "dev": true, "requires": { - "cacache": "^15.0.4", + "cacache": "^15.0.3", "find-cache-dir": "^3.3.1", "jest-worker": "^26.0.0", "p-limit": "^2.3.0", "schema-utils": "^2.6.6", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^3.0.0", "source-map": "^0.6.1", "terser": "^4.6.13", "webpack-sources": "^1.4.3" @@ -18979,88 +19497,12 @@ "uri-js": "^4.2.2" } }, - "cacache": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", - "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-worker": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", - "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -19070,24 +19512,6 @@ "p-try": "^2.0.0" } }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -19114,15 +19538,6 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "terser": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", @@ -19133,19 +19548,14 @@ "source-map": "~0.6.1", "source-map-support": "~0.5.12" } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true } } }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, "through2": { "version": "2.0.5", @@ -19301,6 +19711,15 @@ } } }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, "traverse": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", @@ -19363,6 +19782,12 @@ } } }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, "ts-simple-ast": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/ts-simple-ast/-/ts-simple-ast-12.4.0.tgz", @@ -19589,9 +20014,9 @@ } }, "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.6.tgz", + "integrity": "sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==", "dev": true }, "ua-parser-js": { @@ -19630,7 +20055,8 @@ "underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", @@ -19788,7 +20214,8 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "unix-crypt-td-js": { "version": "1.1.4", @@ -20116,12 +20543,20 @@ "dev": true }, "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } } }, "util-deprecate": { @@ -20380,17 +20815,23 @@ "selenium-webdriver": "^3.0.1" } }, + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + }, "webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", @@ -20401,13 +20842,13 @@ "loader-utils": "^1.2.3", "memory-fs": "^0.4.1", "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "neo-async": "^2.6.1", "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.0", + "watchpack": "^1.6.1", "webpack-sources": "^1.4.1" }, "dependencies": { @@ -20446,6 +20887,12 @@ "y18n": "^4.0.0" } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -20940,9 +21387,9 @@ } }, "webpack-subresource-integrity": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz", - "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz", + "integrity": "sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw==", "dev": true, "requires": { "webpack-sources": "^1.3.0" @@ -20965,6 +21412,23 @@ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz", + "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^5.0.0" + } + }, "when": { "version": "3.6.4", "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", @@ -20975,6 +21439,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "requires": { "isexe": "^2.0.0" } @@ -21089,7 +21554,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.6.tgz", "integrity": "sha512-SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA==", - "dev": true, "requires": { "p-finally": "^1.0.0", "p-try": "^2.1.0", @@ -21099,8 +21563,7 @@ "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" } } }, diff --git a/package.json b/package.json index 3998ce2f1..ba0b23d39 100644 --- a/package.json +++ b/package.json @@ -35,23 +35,23 @@ }, "private": true, "dependencies": { - "@angular/animations": "^9.1.11", - "@angular/cdk": "^9.2.4", - "@angular/common": "^9.1.11", - "@angular/compiler": "^9.1.11", - "@angular/core": "^9.1.11", - "@angular/flex-layout": "^9.0.0-beta.31", - "@angular/forms": "^9.1.11", - "@angular/material": "^9.2.4", - "@angular/platform-browser": "^9.1.11", - "@angular/platform-browser-dynamic": "^9.1.11", - "@angular/router": "^9.1.11", + "@angular/animations": "^10.0.2", + "@angular/cdk": "^10.0.1", + "@angular/common": "^10.0.2", + "@angular/compiler": "^10.0.2", + "@angular/core": "^10.0.2", + "@angular/flex-layout": "^10.0.0-beta.32", + "@angular/forms": "^10.0.2", + "@angular/material": "^10.0.1", + "@angular/platform-browser": "^10.0.2", + "@angular/platform-browser-dynamic": "^10.0.2", + "@angular/router": "^10.0.2", "@types/pako": "^1.0.1", "@types/sprintf-js": "^1.1.2", "angular2-chartjs": "^0.5.1", "angular2-hotkeys": "^2.2.0", "chartjs-plugin-zoom": "^0.7.7", - "cordova-android": "^8.1.0", + "cordova-android": "^9.0.0", "cordova-plugin-advanced-http": "^2.5.1", "cordova-plugin-app-version": "^0.1.9", "cordova-plugin-badge": "^0.8.8", @@ -68,7 +68,7 @@ "mathjax": "^2.7.8", "mermaid": "~8.3.1", "ngx-konami": "^1.7.1", - "ngx-markdown": "^9.1.1", + "ngx-markdown": "^10.0.0", "ngx-material-file-input": "^2.1.1", "ngx-matomo": "^0.1.4", "ngx-webstorage-service": "^4.1.0", @@ -83,16 +83,16 @@ "zone.js": "^0.10.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.901.10", - "@angular/cli": "^9.1.10", - "@angular/compiler-cli": "^9.1.11", - "@angular/language-service": "^9.1.11", + "@angular-devkit/build-angular": "^0.1000.1", + "@angular/cli": "^10.0.1", + "@angular/compiler-cli": "^10.0.2", + "@angular/language-service": "^10.0.2", "@compodoc/compodoc": "^1.1.11", "@types/file-saver": "^2.0.1", "@types/jasmine": "^3.5.11", "@types/jasminewd2": "^2.0.8", "@types/node": "^14.0.18", - "codelyzer": "^5.2.2", + "codelyzer": "^6.0.0", "cordova": "^9.0.0", "electron": "^9.1.0", "electron-builder": "^22.7.0", @@ -108,7 +108,7 @@ "protractor": "^7.0.0", "ts-node": "^8.10.2", "tslint": "^6.1.2", - "typescript": "~3.7.5", + "typescript": "~3.9.6", "webpack-dev-server": "^3.11.0" }, "cordova": { -- GitLab From a44621b2d33ef9f72a3cd8bf5f3628a593d4251f Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 7 Jul 2020 16:36:23 +0200 Subject: [PATCH 094/117] Update .gitlab-ci configurationuse SSH key from GitLab --- .gitlab-ci.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1bd7a5da5..b56dfd5b4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,13 +11,20 @@ stages: variables: LC_ALL: C.UTF-8 - ANDROID_HOME: "/opt/android" - ANDROID_SDK_ROOT: "/opt/android" + ANDROID_HOME: "/usr/local/android-sdk" # should already be defined in the Docker image + ANDROID_SDK_ROOT: "/usr/local/android-sdk" # should already be defined in the Docker image DEPLOY_HOST_LOGIN: "nghyd@aubes" DEPLOY_URL: "/var/www/html/cassiopee" DEPLOY_STABLE_URL: "/var/www/cassiopee-production" RELEASES_URL: "$DEPLOY_STABLE_URL/cassiopee-releases" +before_script: + # load private key from GitLab CI variable, to deploy on Aubes server + - eval $(ssh-agent -s) + - ssh-add <(echo "$AUBES_B64_AUTHORIZED_SSH_PRIVATE_KEY" | base64 -d) + - mkdir -p ~/.ssh + - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config + cache: paths: - node_modules/ -- GitLab From 28258c715498e73256899cd0af1e0e2acfbc8fa1 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Wed, 8 Jul 2020 14:06:46 +0200 Subject: [PATCH 095/117] Updated protractor.conf --- protractor.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protractor.conf.js b/protractor.conf.js index f27c3aeb4..ad4348487 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -57,7 +57,7 @@ exports.config = { require('ts-node').register({ project: 'e2e/tsconfig.e2e.json' }); - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: "pretty" } })); browser.manage().window().setSize(1600, 1000); browser.driver.sendChromiumCommand('Page.setDownloadBehavior', { behavior: 'allow', -- GitLab From 80cc2f39746e2d99d2a79cd95ef1e0fca77c65c4 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 9 Jul 2020 10:34:29 +0200 Subject: [PATCH 096/117] PreBarrage: show results corresponding to selected schema item --- .../pb-results/pb-results-table.component.ts | 16 ----- .../definition/form-parallel-structures.ts | 6 +- .../formulaire/definition/form-pb-cloison.ts | 64 ++++++++++++++++++- .../formulaire/definition/form-prebarrage.ts | 11 ++-- 4 files changed, 70 insertions(+), 27 deletions(-) diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts index b1ab9838b..de2545a6c 100644 --- a/src/app/components/pb-results/pb-results-table.component.ts +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -35,22 +35,6 @@ export class PbResultsTableComponent extends ResultsComponentDirective { super(); } - /* private getJetTypes(re: Result, vi: number): string { - // jet type for each device - const devices = re.sourceNub.getChildren(); - const jetTypes: string[] = devices.map((device) => { - const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType"); - let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt); - if (devices.length > 1) { - // evil HTML injection in table cell (simpler) - jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°" - + (device.findPositionInParent() + 1) + ": " + jetType; - } - return jetType; - }); - return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`; - } */ - public set results(r: PrebarrageResults) { this._pbResults = r; console.log("Set results dans PBRTC !", r); diff --git a/src/app/formulaire/definition/form-parallel-structures.ts b/src/app/formulaire/definition/form-parallel-structures.ts index c985f288b..f304c1c2b 100644 --- a/src/app/formulaire/definition/form-parallel-structures.ts +++ b/src/app/formulaire/definition/form-parallel-structures.ts @@ -112,7 +112,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { * @param name nom de la propriété qui vient de changer * @param val nouvelle valeur de la propriété */ - private adjustProperties(props: Props, name: string, val: any) { + protected adjustProperties(props: Props, name: string, val: any) { if (name === "structureType") { if (! StructureProperties.isCompatibleValues( val, props.getPropValue("loiDebit"), this.currentNub as ParallelStructure @@ -138,7 +138,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { /** * abonnement en tant qu'observateur des NgParameter des FieldSet contenus dans le FieldsetContainer */ - private subscribeStructureInputFields(fs: FieldSet) { + protected subscribeStructureInputFields(fs: FieldSet) { for (const n of fs.allFormElements) { if (n instanceof NgParameter) { n.addObserver(this); @@ -148,7 +148,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { /** * abonnement en tant qu'observateur du SelectField des FieldSet contenus dans le FieldsetContainer */ - private subscribeStructureSelectFields(fs: FieldSet) { + protected subscribeStructureSelectFields(fs: FieldSet) { for (const n of fs.allFormElements) { if (n instanceof SelectField) { n.addObserver(this); diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index db7272f52..d41333580 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -1,7 +1,10 @@ import { FormulaireParallelStructure } from "./form-parallel-structures"; import { SelectFieldNub } from "../elements/select-field-nub"; -import { IObservable, Nub, PbCloison, PbBassin } from "jalhyd"; +import { IObservable, Nub, PbCloison, PbBassin, Structure } from "jalhyd"; +import { FieldSet } from '../elements/fieldset'; +import { FormulaireNode } from '../elements/formulaire-node'; +import { FieldsetContainer } from '../elements/fieldset-container'; export class FormulairePbCloison extends FormulaireParallelStructure { @@ -36,7 +39,31 @@ export class FormulairePbCloison extends FormulaireParallelStructure { // interface Observer public update(sender: IObservable, data: any) { - super.update(sender, data); + // do NOT call super.update() or "newFieldset" action will reset results + if (sender instanceof FieldsetContainer) { + switch (data.action) { + case "newFieldset": + // this.reset(); + console.log("||| reset PAS NON PLUS :) |||"); + this.subscribeStructureInputFields(data["fieldset"]); + this.subscribeStructureSelectFields(data["fieldset"]); + } + } else if (sender instanceof FieldSet && data.action === "propertyChange") { + switch (sender.id) { + case "fs_ouvrage": + const props = sender.properties; + // ensure loiDebit is set + props.setPropValue("loiDebit", data.value); + this.adjustProperties(props, data["name"], data["value"]); + // replace Structure Nub + const newNub = this.replaceNub((sender.nub as Structure), props); + sender.setNub(newNub); + // treat the fieldset as new to re-subscribe to Nub properties change events + this.afterParseFieldset(sender); + this.reset(); + break; + } + } if (sender instanceof SelectFieldNub) { const nub = this._currentNub as PbCloison; @@ -72,4 +99,37 @@ export class FormulairePbCloison extends FormulaireParallelStructure { }, this); } } + + // do not reset results after adding fieldset (when switching results view + // from one wall to another, the form is rebuilt) @TODO anyway, we should + // reset when a fieldset is manually added from "input" (form) view + public createFieldset(parent: FormulaireNode, json: {}, data?: {}, nub?: Nub): FieldSet { + if (json["calcType"] === "Structure") { + // indice après lequel insérer le nouveau FieldSet + const after = data["after"]; + + const res: FieldSet = new FieldSet(parent); + let sn: Nub; + if (nub) { // use existing Nub (build interface based on model) + sn = nub; + } else { + sn = this.createChildNub(data["template"]); + this.currentNub.addChild(sn, after); + } + res.setNub(sn, false); + + if (after !== undefined) { + parent.kids.splice(after + 1, 0, res); + } else { + parent.kids.push(res); + } + + console.log("\\\ reset PAS ///"); + // this.resetResults(); + + return res; + } else { + return super.createFieldset(parent, json, data); + } + } } diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 8cd692893..302788861 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -47,7 +47,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { public get results(): CalculatorResults[] { // ensure help links are propagated this._pbResults.helpLinks = this.helpLinks; - console.log("RENVOI", [ this.fixedResults, this._pbResults ]); return [ this.fixedResults, this._pbResults ]; } @@ -120,7 +119,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { public nodeSelected(node: PbBassin | PbCloison) { // store for results formatting this._selectedItem = node; - this.reaffectResultComponents(); // show only the relevant form if (node === undefined) { @@ -164,6 +162,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } this.showFormElements(wallForm); } + this.reaffectResultComponents(); } /** @@ -216,6 +215,10 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.pbResults.variatedParameters = varParams; } + // cacher les résultats de la cloison + this.fixedResults.reset(); + this.addFixedParameters(); + // résultats selon l'objet sélectionné sur le schéma if (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison) { // cacher les résultats de bassins @@ -228,10 +231,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.fixedResults.calculatedParameter = computedParam; } } else { - // cacher les résultats de la cloison - this.fixedResults.reset(); - this.addFixedParameters(); - // afficher les résultats des bassins this.pbResults.reset(); // résultat général du Nub (amont, aval, débit) -- GitLab From e7971aeda4b57183f5aaf74ad77187bb52d59ce7 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 9 Jul 2020 12:28:10 +0200 Subject: [PATCH 097/117] PreBarrage: properly reset results when editing different forms --- .../fixed-results.component.ts | 1 - .../pb-results/pb-results-table.component.ts | 1 - .../pb-results/pb-results.component.ts | 1 - .../pb-schema/pb-schema.component.scss | 1 + .../pb-schema/pb-schema.component.ts | 11 ++++ .../formulaire/definition/form-definition.ts | 4 +- .../formulaire/definition/form-fixedvar.ts | 5 +- .../formulaire/definition/form-pb-cloison.ts | 50 ++++++++++++++++--- .../formulaire/definition/form-prebarrage.ts | 27 ++++++++-- .../formulaire/elements/fieldset-container.ts | 12 +++-- .../formulaire/elements/fieldset-template.ts | 7 ++- src/app/formulaire/elements/pb-schema.ts | 10 ++++ 12 files changed, 105 insertions(+), 25 deletions(-) diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index ef9af04a6..afb476e03 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -36,7 +36,6 @@ export class FixedResultsComponent extends ResultsComponentDirective { } public set results(r: FixedResults) { - console.log("->->->->-> je suis FRC et j'ai reçu des résultats", r === undefined ? "keud" : r.result); this._fixedResults = r; } diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts index de2545a6c..1bab32668 100644 --- a/src/app/components/pb-results/pb-results-table.component.ts +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -37,7 +37,6 @@ export class PbResultsTableComponent extends ResultsComponentDirective { public set results(r: PrebarrageResults) { this._pbResults = r; - console.log("Set results dans PBRTC !", r); this._dataSet = []; if ( diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts index 5a031da13..ed974c71b 100644 --- a/src/app/components/pb-results/pb-results.component.ts +++ b/src/app/components/pb-results/pb-results.component.ts @@ -281,7 +281,6 @@ export class PbResultsComponent implements DoCheck { * @returns true si les résultats ont pu être mis à jour */ private updateResults() { - console.log("------------ update results -----------"); let pabUpdated: boolean; let profileChartUpdated: boolean; let selectorUpdated: boolean; diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss index c0834e6b7..72baa1edd 100644 --- a/src/app/components/pb-schema/pb-schema.component.scss +++ b/src/app/components/pb-schema/pb-schema.component.scss @@ -37,6 +37,7 @@ mat-card-content { .related-entity-title { vertical-align: middle; font-weight: bold; + display: none; // @TODO show it in a way that doesn't make the buttons fall on the next line ? } .hyd-window-btns { text-align: right; diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 615af66cd..6d2503d99 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -341,6 +341,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni } this.unselect(); this.refresh(); + this.clearResults(); } public get uitextRemove() { @@ -367,6 +368,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.unselect(); this.refresh(); this.selectNodeOnSchema(wallCopy); + this.clearResults(); } public get uitextCopy() { @@ -380,6 +382,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.unselect(); this.refresh(); this.selectNodeOnSchema(newBasin); + this.clearResults(); } public get uitextAddBasin() { @@ -413,6 +416,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.unselect(); this.refresh(); this.selectNodeOnSchema(wall); + this.clearResults(); } }); } @@ -437,6 +441,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.unselect(); this.refresh(); this.selectNodeOnSchema(basin); + this.clearResults(); } public get uitextMoveBasinUp() { @@ -459,6 +464,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.unselect(); this.refresh(); this.selectNodeOnSchema(basin); + this.clearResults(); } public get uitextMoveBasinDown() { @@ -507,6 +513,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.nodeSelected.emit({}); // nothing selected } + /** clear all PB form results whenever the basins / walls layout is changed */ + private clearResults() { + this.pbSchema.form.reset(); + } + // interface Observer public update(sender: IObservable, data: any) { diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 17f206891..305bc6781 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -57,8 +57,8 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs /** copy of options.resultsHelp read by FormDefinition.parseOptions() */ public helpLinks: { [key: string]: string }; - constructor() { - super(undefined); + constructor(parent?: FormulaireNode) { + super(parent); } // surcharge de FormulaireNode::get:uid() diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index 20314b520..6e674d219 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -5,6 +5,7 @@ import { ChartType } from "../../results/chart-type"; import { CalculatorResults } from "../../results/calculator-results"; import { ParamRadioConfig, NgParameter } from "../elements/ngparam"; import { FieldSet } from "../elements/fieldset"; +import { FormulaireNode } from "../elements/formulaire-node"; import { Nub, IObservable } from "jalhyd"; @@ -16,8 +17,8 @@ export class FormulaireFixedVar extends FormulaireDefinition { /** ids of select fields */ private _selectIds: string[] = []; - constructor() { - super(); + constructor(parent?: FormulaireNode) { + super(parent); this._fixedResults = new FixedResults(); this._varResults = new VarResults(); } diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index d41333580..0327b95aa 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -2,9 +2,10 @@ import { FormulaireParallelStructure } from "./form-parallel-structures"; import { SelectFieldNub } from "../elements/select-field-nub"; import { IObservable, Nub, PbCloison, PbBassin, Structure } from "jalhyd"; -import { FieldSet } from '../elements/fieldset'; -import { FormulaireNode } from '../elements/formulaire-node'; -import { FieldsetContainer } from '../elements/fieldset-container'; +import { FieldSet } from "../elements/fieldset"; +import { FormulaireNode } from "../elements/formulaire-node"; +import { FieldsetContainer } from "../elements/fieldset-container"; +import { FormulairePrebarrage } from "./form-prebarrage"; export class FormulairePbCloison extends FormulaireParallelStructure { @@ -43,8 +44,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure { if (sender instanceof FieldsetContainer) { switch (data.action) { case "newFieldset": - // this.reset(); - console.log("||| reset PAS NON PLUS :) |||"); + // still reset all results when a fieldset if manually added + if (data.resetResults !== false) { + this.reset(); + } this.subscribeStructureInputFields(data["fieldset"]); this.subscribeStructureSelectFields(data["fieldset"]); } @@ -124,12 +127,45 @@ export class FormulairePbCloison extends FormulaireParallelStructure { parent.kids.push(res); } - console.log("\\\ reset PAS ///"); - // this.resetResults(); + // still reset all results when a fieldset if manually added + if (data["resetResults"] !== false) { + this.reset(); + (this.parent as FormulairePrebarrage).reset(); + } return res; } else { return super.createFieldset(parent, json, data); } } + + /** + * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... : + * effacement des résultats, application des dépendances, ... + */ + public reset() { + // also reset parent results (that will reset all its children results) + (this.parent as FormulairePrebarrage).reset(); + // prévenir les composants qu'il faut détecter les changements + this.notifyReset(); + } + + // ensure all PBresults are reset + public moveFieldsetUp(fs: FieldSet) { + super.moveFieldsetUp(fs); + this.reset(); + } + + // ensure all PBresults are reset + public moveFieldsetDown(fs: FieldSet) { + super.moveFieldsetDown(fs); + this.reset(); + } + + // ensure all PBresults are reset + public removeFieldset(fs: FieldSet) { + super.removeFieldset(fs); + this.reset(); + } + } diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 302788861..117612ef1 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -125,7 +125,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.showFormElements(this.riverForm); } else if (node instanceof PbBassin) { - this.basinForm = new FormulaireFixedVar(); + this.basinForm = new FormulaireFixedVar(this); this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin; this.basinForm.currentNub = node; this.basinForm.preparseConfig(this.basinFormConfig); @@ -134,7 +134,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.showFormElements(this.basinForm); } else if (node instanceof PbCloison) { - const wallForm = new FormulairePbCloison(); + const wallForm = new FormulairePbCloison(this); wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; wallForm.currentNub = node; wallForm.preparseConfig(this.wallFormConfig); @@ -147,7 +147,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { for (const struct of node.structures) { for (const e of wallForm.allFormElements) { if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? - e.addFromTemplate(0, undefined, struct); + e.addFromTemplate(0, undefined, struct, { resetResults: false }); } } } @@ -155,7 +155,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { // if there was no existing structure, add a default one for (const e of wallForm.allFormElements) { if (e instanceof FieldsetContainer) { - e.addFromTemplate(0); + e.addFromTemplate(0, undefined, undefined, { resetResults: false }); break; } } @@ -225,7 +225,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.pbResults.reset(); // afficher les résultats de cloison - console.log("RRC => cloison !", this._selectedItem.uid, this._selectedItem.result); this.fixedResults.result = this._selectedItem.result; if (computedParam !== undefined) { this.fixedResults.calculatedParameter = computedParam; @@ -243,9 +242,27 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } } + /** + * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... : + * effacement des résultats, application des dépendances, ... + */ + public reset() { + this.resetResults(); + } + public resetResults() { super.resetResults(); this._fixedResults.reset(); this._pbResults.reset(); + // reset all children nubs + for (const c of this.currentNub.getChildren()) { + c.resetResult(); + } + // reset all wall forms + for (const k of this.kids) { + if (k instanceof FormulaireDefinition) { + k.reset(); + } + } } } diff --git a/src/app/formulaire/elements/fieldset-container.ts b/src/app/formulaire/elements/fieldset-container.ts index 1c31212da..960579e9e 100644 --- a/src/app/formulaire/elements/fieldset-container.ts +++ b/src/app/formulaire/elements/fieldset-container.ts @@ -74,19 +74,23 @@ export class FieldsetContainer extends FormulaireElement { * crée un FieldSet à partir d'un template * @param templateIndex indice du template dans la liste * @param after insère le nouveau FieldSet après cette position, à la fin sinon + * @param nub attaches the given Nub to the new FieldSet + * @param extra extra key-value pairs to add to the "newFieldset" event */ - public addFromTemplate(templateIndex: number, after?: number, nub?: Nub): FieldSet { + public addFromTemplate(templateIndex: number, after?: number, nub?: Nub, extra?: any): FieldSet { const templ: FieldsetTemplate = this._templates[templateIndex]; - const inst: FieldSet = templ.instantiateTemplate(this, after, nub); + const inst: FieldSet = templ.instantiateTemplate(this, after, nub, extra); this.updateLocalisation(); // notification de création d'un FieldSet - this.notifyObservers({ + let info = { "action": "newFieldset", "fieldset": inst - }, this); + }; + info = { ...info, ...extra }; + this.notifyObservers(info, this); return inst; } diff --git a/src/app/formulaire/elements/fieldset-template.ts b/src/app/formulaire/elements/fieldset-template.ts index 3c9071131..b65b48874 100644 --- a/src/app/formulaire/elements/fieldset-template.ts +++ b/src/app/formulaire/elements/fieldset-template.ts @@ -42,10 +42,13 @@ export class FieldsetTemplate { * @param cont conteneur * @param after position à laquelle on ajoute le nouveau FieldSet * @param nub Nub existant à injecter dans le Fieldset + * @param extra extra key-value pairs to add to the "newFieldset" event */ - public instantiateTemplate(cont: FieldsetContainer, after: number, nub?: Nub): FieldSet { + public instantiateTemplate(cont: FieldsetContainer, after: number, nub?: Nub, extra?: any): FieldSet { const parentForm = cont.parent as FormulaireDefinition; - const res = parentForm.createFieldset(cont, this._jsonConfig, { "template": this, "after": after }, nub); + let info = { "template": this, "after": after }; + info = { ...info, ... extra }; + const res = parentForm.createFieldset(cont, this._jsonConfig, info, nub); res.parseConfig(this._jsonConfig); parentForm.afterParseFieldset(res); return res; diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts index 07e108890..7ec01a39c 100644 --- a/src/app/formulaire/elements/pb-schema.ts +++ b/src/app/formulaire/elements/pb-schema.ts @@ -1,6 +1,7 @@ import { PreBarrage } from "jalhyd"; import { FormulaireElement } from "./formulaire-element"; +import { FormulairePrebarrage } from "../definition/form-prebarrage"; /** * The interactive schema for calculator type "PreBarrage" (form element). @@ -14,6 +15,15 @@ export class PbSchema extends FormulaireElement { this._confId = json["id"]; } + /** + * Returns the Prebarrage model associated to the parent form + */ + public get form(): FormulairePrebarrage { + if (this.parentForm) { + return this.parentForm as FormulairePrebarrage; + } + } + /** * Returns the Prebarrage model associated to the parent form */ -- GitLab From a45097202a0a5fbda2dffde47a78f50900eca214 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 9 Jul 2020 14:05:08 +0200 Subject: [PATCH 098/117] FormPrebarrage: simplify results reset --- src/app/formulaire/definition/form-prebarrage.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 117612ef1..999a4ed57 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -246,14 +246,17 @@ export class FormulairePrebarrage extends FormulaireFixedVar { * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... : * effacement des résultats, application des dépendances, ... */ - public reset() { + /* public reset() { this.resetResults(); + } */ + + public resetFormResults() { + this._fixedResults.reset(); + this._pbResults.reset(); } public resetResults() { super.resetResults(); - this._fixedResults.reset(); - this._pbResults.reset(); // reset all children nubs for (const c of this.currentNub.getChildren()) { c.resetResult(); -- GitLab From 61d1658efdf2c5c2097ee65035d5946b56a13300 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 9 Jul 2020 15:09:48 +0200 Subject: [PATCH 099/117] Upate PreBarrage example --- src/app/examples/prebarrage.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json index 339101438..c97e06ca0 100644 --- a/src/app/examples/prebarrage.json +++ b/src/app/examples/prebarrage.json @@ -791,7 +791,7 @@ { "symbol": "Q", "mode": "SINGLE", - "value": 1 + "value": 0.844 }, { "symbol": "Z1", @@ -800,7 +800,7 @@ { "symbol": "Z2", "mode": "SINGLE", - "value": 100 + "value": 94.45 } ] } -- GitLab From 0e9d1b6dc64a66c04062773f6da623a5bedc1b3a Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 9 Jul 2020 16:38:59 +0200 Subject: [PATCH 100/117] PreBarrage: remember selected schema node and displayed panel (input or results) --- .../calculator.component.ts | 18 +++++++++-- .../pb-results/pb-results-table.component.ts | 32 ++++++++++++++++--- .../pb-schema/pb-schema.component.ts | 15 +++++---- .../formulaire/definition/form-prebarrage.ts | 9 ++++-- 4 files changed, 57 insertions(+), 17 deletions(-) diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 2378518f5..fe1817a62 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -122,9 +122,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe /** Allows trigerring afterFirstViewChecked() just after calculator is loaded */ private firstViewChecked = false; - /** For PreBarrage only: if true, show input data in the right panel, else show results */ - public showPBInputData = true; - public get ID() { if (this._formulaire) { return this._formulaire.uid; @@ -133,6 +130,21 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe } } + /** For PreBarrage only: if true, show input data in the right panel, else show results */ + public get showPBInputData(): boolean { + if (this.isPB) { + return (this._formulaire as FormulairePrebarrage).showInputData; + } else { + return false; // whatever, should never happen + } + } + + public set showPBInputData(v: boolean) { + if (this.isPB) { + (this._formulaire as FormulairePrebarrage).showInputData = v; + } // else do nothing, should never happen + } + constructor( @Inject(forwardRef(() => AppComponent)) private appComponent: AppComponent, private route: ActivatedRoute, diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts index 1bab32668..792286c8e 100644 --- a/src/app/components/pb-results/pb-results-table.component.ts +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -1,6 +1,6 @@ import { Component, ViewChild, ElementRef } from "@angular/core"; -import { PreBarrage, PbBassin } from "jalhyd"; +import { PreBarrage, PbBassin, ParamDefinition, ParamValueMode } from "jalhyd"; import { I18nService } from "../../services/internationalisation.service"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @@ -35,6 +35,26 @@ export class PbResultsTableComponent extends ResultsComponentDirective { super(); } + /** + * Returns value at index i for parameter p, whether it is variating + * or not, calculated or not + * @param p parameter + * @param i index + */ + protected getIthValue(p: ParamDefinition, i: number): string { + let value: number; + if (p.hasMultipleValues) { + if (p.valueMode === ParamValueMode.CALCUL) { + value = p.parentNub.result.resultElements[i].vCalc; + } else { + value = p.getInferredValuesList()[i]; + } + } else { + value = p.V; + } + return fv(value); + } + public set results(r: PrebarrageResults) { this._pbResults = r; @@ -51,6 +71,8 @@ export class PbResultsTableComponent extends ResultsComponentDirective { // values to build the data from const vi = pr.variableIndex; + // @TODO results.size ? To extend values lists… + // refresh headers here if language changed this._headers = pr.headers; @@ -59,9 +81,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective { this._dataSet.push([ this.intlService.localizeText("INFO_LIB_AMONT"), "", "", - fv(pb.prms.Z1.V), + this.getIthValue(pb.prms.Z1, vi), "", "", - fv(pb.prms.Q.V) + this.getIthValue(pb.prms.Q, vi), ]); } @@ -89,9 +111,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective { this._dataSet.push([ this.intlService.localizeText("INFO_LIB_AVAL"), "", "", - fv(pb.prms.Z2.V), + this.getIthValue(pb.prms.Z2, vi), "", "", - fv(pb.prms.Q.V) + this.getIthValue(pb.prms.Q, vi), ]); } } diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 6d2503d99..63e6d00f4 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -84,11 +84,15 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni }); this.nativeElement = this.schema.nativeElement; this.render(); - // reset form to river properties (clodo timeout to prevent ExpressionChangedAfterItHasBeenCheckedError) - setTimeout(() => { - this.unselect(); - }, 10); - // @TODO find a way to remember last selected item ? Through a service ? + // restore previously selected item + this._selectedItem = this.pbSchema.form.selectedItem; + if (this._selectedItem !== undefined) { + // @WARNING clodo timeout to prevent ExpressionChangedAfterItHasBeenCheckedError + // and select schema node after schema is refreshed by ngAfterViewInit() + setTimeout(() => { + this.selectNodeOnSchema(this._selectedItem); + }, 20); // timeout has to be greater than the 10ms of ngAfterViewInit() + } } private render() { @@ -497,7 +501,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni this.model.hasUpDownConnection() && ! this.model.hasBasinNotConnected() ); - console.log("schéma valide", this._isValid); this.validChange.emit(); } diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 999a4ed57..a3dcb71e8 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -31,14 +31,17 @@ export class FormulairePrebarrage extends FormulaireFixedVar { protected _pbResults: PrebarrageResults; + /** if true, show input data in the right panel, else show results */ + public showInputData = true; + constructor() { super(); this._pbResults = new PrebarrageResults(); } - /* public get pbNub(): PreBarrage { - return this.currentNub as PreBarrage; - } */ + public get selectedItem(): PbBassin | PbCloison { + return this._selectedItem; + } public get pbResults(): PrebarrageResults { return this._pbResults; -- GitLab From 4dc476525f12ae2b4ba1b02490c2109ef862f362 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 10 Jul 2020 14:38:25 +0200 Subject: [PATCH 101/117] Prebarrage: reorganize results component --- angular.json | 1 + ...ialog-generate-par-simulation.component.ts | 15 ++-- .../fixed-results.component.html | 1 - .../fixed-results.component.ts | 8 +- .../fixedvar-results.component.ts | 4 - .../fixedvar-results/results.component.ts | 6 ++ .../fixedvar-results/var-results.component.ts | 6 +- .../calculator.component.ts | 5 +- .../macrorugo-compound-results.component.ts | 8 +- .../pab-profile-chart.component.ts | 8 +- .../pab-results/pab-results.component.ts | 9 +-- .../pb-results/pb-results-table.component.ts | 12 +-- .../pb-results/pb-results.component.html | 6 +- .../pb-results/pb-results.component.ts | 73 ++++++++++++------ .../pb-schema/pb-schema.component.ts | 37 ++++----- .../variable-results-selector.component.ts | 38 ++++++++-- .../definition/form-courbe-remous.ts | 2 +- .../formulaire/definition/form-definition.ts | 18 ++--- .../formulaire/definition/form-fixedvar.ts | 6 +- .../definition/form-macrorugo-compound.ts | 4 +- src/app/formulaire/definition/form-pab.ts | 8 +- .../formulaire/definition/form-prebarrage.ts | 76 +++++++++++++------ .../definition/form-section-parametree.ts | 6 +- src/app/formulaire/elements/ngparam.ts | 4 - src/app/formulaire/elements/pb-schema.ts | 3 + src/app/results/multidimension-results.ts | 5 +- src/app/results/plottable-data.ts | 4 +- .../plottable-macrorugo-compound-results.ts | 6 +- src/app/results/plottable-pab-results.ts | 6 +- src/app/results/prebarrage-results.ts | 31 ++++++-- src/app/results/remous-results.ts | 12 ++- src/app/results/var-results.ts | 60 ++++++++------- src/app/services/formulaire.service.ts | 4 +- .../services/internationalisation.service.ts | 12 ++- src/app/util.ts | 21 ----- src/locale/messages.en.json | 8 +- src/locale/messages.fr.json | 8 +- 37 files changed, 309 insertions(+), 232 deletions(-) diff --git a/angular.json b/angular.json index eab58ab6f..1710de21f 100644 --- a/angular.json +++ b/angular.json @@ -54,6 +54,7 @@ "showCircularDependencies": false, "allowedCommonJsDependencies": [ "chartjs-plugin-zoom", + "angular2-chartjs/dist/chart.component", "angular2-chartjs/dist/chart.module", "angular2-hotkeys.js", "base-64", diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts index dcb956902..e7fcdeff8 100644 --- a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts +++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts @@ -3,8 +3,7 @@ import { Inject, Component } from "@angular/core"; import { I18nService } from "../../services/internationalisation.service"; import { MultiDimensionResults } from "../../results/multidimension-results"; - -import { fv, longestVarNgParam } from "../../util"; +import { longestVarParam, fv } from "../../util"; @Component({ selector: "dialog-generate-par-simulation", @@ -36,12 +35,12 @@ export class DialogGeneratePARSimulationComponent { // pre-extract variable parameters values this.varValues = []; // find longest list - const lvp = longestVarNgParam(this._results.variatedParameters); + const lvp = longestVarParam(this._results.variatedParameters); this.size = lvp.size; // get extended values lists for each variable parameter for (const v of this._results.variatedParameters) { const vv = []; - const iter = v.getExtendedValuesIterator(this.size); + const iter = v.param.getExtendedValuesIterator(this.size); while (iter.hasNext) { const nv = iter.next(); vv.push(fv(nv.value)); @@ -88,13 +87,13 @@ export class DialogGeneratePARSimulationComponent { for (let i = 0; i < this.varValues.length; i++) { const vv = this.varValues[i]; const vp = this._results.variatedParameters[i]; - let symbol = vp.symbol; + let symbol = vp.param.symbol; // is vp a parameter of a child Nub ? if ( - vp.paramDefinition.parentNub - && vp.paramDefinition.parentNub !== vp.paramDefinition.originNub + vp.param.parentNub + && vp.param.parentNub !== vp.param.originNub ) { - const pos = vp.paramDefinition.parentNub.findPositionInParent() + 1; + const pos = vp.param.parentNub.findPositionInParent() + 1; symbol = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + pos + "_" + symbol; } kv.push(`${symbol} = ${vv[index]}`); diff --git a/src/app/components/fixedvar-results/fixed-results.component.html b/src/app/components/fixedvar-results/fixed-results.component.html index 46791f57e..8971e115c 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.html +++ b/src/app/components/fixedvar-results/fixed-results.component.html @@ -1,5 +1,4 @@ <div class="fixed-results-container" *ngIf="hasFixedParameters"> - <div class="fixed-results-buttons"> <button mat-icon-button (click)="exportAsSpreadsheet()" [title]="uitextExportAsSpreadsheet"> <mat-icon color="primary">file_download</mat-icon> diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index afb476e03..a29b9dbdf 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -63,10 +63,6 @@ export class FixedResultsComponent extends ResultsComponentDirective { return this._fixedResults && this._fixedResults.fixedParameters.length > 0; } - public formattedLabel(p: NgParameter): string { - return CalculatorResults.paramLabel(p, false); - } - /** * Returns a set of parameters and results for mat-table */ @@ -134,7 +130,7 @@ export class FixedResultsComponent extends ResultsComponentDirective { if (sn.parent) { ct = sn.parent.calcType; } - let unit; + let unit: string; // is k the calculated parameter ? If so, extract its unit try { const p = res.sourceNub.getParameter(k); @@ -226,7 +222,7 @@ export class FixedResultsComponent extends ResultsComponentDirective { if (sn.parent) { ct = sn.parent.calcType; } - let unit; + let unit: string; // is k the calculated parameter ? If so, extract its unit try { const p = res.sourceNub.getParameter(k); diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts index 84d2cda25..eb491d2d9 100644 --- a/src/app/components/fixedvar-results/fixedvar-results.component.ts +++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts @@ -187,10 +187,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen return this._fixedResults; } - public formattedLabel(p: NgParameter): string { - return CalculatorResults.paramLabel(p, false); - } - public get varResults() { return this._varResults; } diff --git a/src/app/components/fixedvar-results/results.component.ts b/src/app/components/fixedvar-results/results.component.ts index ab70880f0..aa3ce1e25 100644 --- a/src/app/components/fixedvar-results/results.component.ts +++ b/src/app/components/fixedvar-results/results.component.ts @@ -4,6 +4,8 @@ import { Screenfull } from "screenfull"; // @see https://github.com/sindresorhus import { NgParameter } from "../../formulaire/elements/ngparam"; import { ServiceFactory } from "../../services/service-factory"; import { fv } from "../../util"; +import { CalculatorResults } from "../../results/calculator-results"; + import { Directive } from "@angular/core"; /** @@ -84,6 +86,10 @@ export class ResultsComponentDirective { ]; } + public formattedLabel(p: NgParameter): string { + return CalculatorResults.paramLabel(p, false); + } + /** * Formats (rounds) the given number (or the value of the given parameter) with the * number of decimals specified in app preferences; if given number is too low and diff --git a/src/app/components/fixedvar-results/var-results.component.ts b/src/app/components/fixedvar-results/var-results.component.ts index b5a66d774..d1ba56c32 100644 --- a/src/app/components/fixedvar-results/var-results.component.ts +++ b/src/app/components/fixedvar-results/var-results.component.ts @@ -8,7 +8,7 @@ import { I18nService } from "../../services/internationalisation.service"; import { ResultsComponentDirective } from "./results.component"; import { DialogLogEntriesDetailsComponent } from "../dialog-log-entries-details/dialog-log-entries-details.component"; import { AppComponent } from "../../app.component"; -import { longestVarNgParam } from "../../../app/util"; +import { longestVarParam } from "../../../app/util"; @Component({ selector: "var-results", @@ -68,12 +68,12 @@ export class VarResultsComponent extends ResultsComponentDirective { // C. pre-extract variable parameters values const varValues = []; // find longest list - const lvp = longestVarNgParam(this._varResults.variatedParameters); + const lvp = longestVarParam(this._varResults.variatedParameters); this.size = lvp.size; // get extended values lists for each variable parameter for (const v of this._varResults.variatedParameters) { const vv = []; - const iter = v.getExtendedValuesIterator(this.size); + const iter = v.param.getExtendedValuesIterator(this.size); while (iter.hasNext) { const nv = iter.next(); vv.push(this.formattedValue(nv.value)); diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index fe1817a62..a25f258fe 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -18,7 +18,8 @@ import { RegimeUniforme, Par, ParSimulationParams, - ParSimulation + ParSimulation, + VariatedDetails } from "jalhyd"; import { generateValuesCombination } from "../../util"; @@ -922,7 +923,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe const pcal = parCalage.prms; let pres: { [key: string]: number } = parCalage.result.values; - const varParams: NgParameter[] = this._formulaire.getVariatedParameters(); + const varParams: VariatedDetails[] = this._formulaire.getVariatedParameters(); if (varParams.length > 0) { // open popup to choose combination of varying parameters const mdParResults = new MultiDimensionResults(); diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts index e15ade96c..d2d932838 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts @@ -15,6 +15,7 @@ import { VariableResultsSelectorComponent } from "../variable-results-selector/v import { MacrorugoCompoundResultsTableComponent } from "./macrorugo-compound-results-table.component"; import { MacrorugoCompoundResults } from "../../results/macrorugo-compound-results"; import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macrorugo-compound-results"; +import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @Component({ selector: "macrorugo-compound-results", @@ -23,7 +24,7 @@ import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macro "./macrorugo-compound-results.component.scss" ] }) -export class MacrorugoCompoundResultsComponent implements DoCheck { +export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements DoCheck { /** résultats non mis en forme */ private _mrcResults: MacrorugoCompoundResults; @@ -53,6 +54,7 @@ export class MacrorugoCompoundResultsComponent implements DoCheck { private appSetupService: ApplicationSetupService, private i18nService: I18nService, ) { + super(); this._plottableResults = new PlottableMacrorugoCompoundResults(); } @@ -280,10 +282,6 @@ export class MacrorugoCompoundResultsComponent implements DoCheck { return this._mrcResults; } - public formattedLabel(p: NgParameter): string { - return CalculatorResults.paramLabel(p, false); - } - public formattedValue(p: NgParameter): string { const nDigits = this.appSetupService.displayPrecision; return p.getValue().toFixed(nDigits); diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts index 4b47585b7..ce34f4dae 100644 --- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts +++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts @@ -6,7 +6,7 @@ import { I18nService } from "../../services/internationalisation.service"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; import { PabResults } from "../../results/pab-results"; import { IYSeries } from "../../results/y-series"; -import { fv, longestVarNgParam } from "../../util"; +import { fv, longestVarParam } from "../../util"; import { AppComponent } from "../../app.component"; import { CloisonAval, Cloisons, LoiDebit } from "jalhyd"; @@ -132,12 +132,12 @@ export class PabProfileChartComponent extends ResultsComponentDirective { if (this._results) { this.varValues = []; // find longest list - const lvp = longestVarNgParam(this._results.variatedParameters); + const lvp = longestVarParam(this._results.variatedParameters); this.size = lvp.size; // get extended values lists for each variable parameter for (const v of this._results.variatedParameters) { const vv = []; - const iter = v.getExtendedValuesIterator(this.size); + const iter = v.param.getExtendedValuesIterator(this.size); while (iter.hasNext) { const nv = iter.next(); vv.push(fv(nv.value)); @@ -458,7 +458,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective { i++; let value = "0"; value = vv[n]; - return `${vp.symbol} = ${value}`; + return `${vp.param.symbol} = ${value}`; }).join(", "); } } diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts index fe282c196..26d0784e6 100644 --- a/src/app/components/pab-results/pab-results.component.ts +++ b/src/app/components/pab-results/pab-results.component.ts @@ -4,7 +4,6 @@ import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd"; import { LogComponent } from "../../components/log/log.component"; import { CalculatorResults } from "../../results/calculator-results"; -import { NgParameter } from "../../formulaire/elements/ngparam"; import { PabResultsTableComponent } from "./pab-results-table.component"; import { PabResults } from "../../results/pab-results"; import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; @@ -13,6 +12,7 @@ import { PlottablePabResults } from "../../results/plottable-pab-results"; import { ResultsChartComponent } from "../results-chart/results-chart.component"; import { I18nService } from "../../services/internationalisation.service"; import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component"; +import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @Component({ selector: "pab-results", @@ -21,7 +21,7 @@ import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart "./pab-results.component.scss" ] }) -export class PabResultsComponent implements DoCheck { +export class PabResultsComponent extends ResultsComponentDirective implements DoCheck { /** résultats non mis en forme */ private _pabResults: PabResults; @@ -53,6 +53,7 @@ export class PabResultsComponent implements DoCheck { constructor( private i18nService: I18nService, ) { + super(); this._plottableResults = new PlottablePabResults(); } @@ -316,10 +317,6 @@ export class PabResultsComponent implements DoCheck { return this._pabResults; } - public formattedLabel(p: NgParameter): string { - return CalculatorResults.paramLabel(p, false); - } - public get hasResults(): boolean { return this._pabResults && this._pabResults.hasResults; } diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts index 792286c8e..c064fabb9 100644 --- a/src/app/components/pb-results/pb-results-table.component.ts +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -41,13 +41,13 @@ export class PbResultsTableComponent extends ResultsComponentDirective { * @param p parameter * @param i index */ - protected getIthValue(p: ParamDefinition, i: number): string { + protected getIthValue(p: ParamDefinition, i: number, extendTo: number): string { let value: number; if (p.hasMultipleValues) { if (p.valueMode === ParamValueMode.CALCUL) { value = p.parentNub.result.resultElements[i].vCalc; } else { - value = p.getInferredValuesList()[i]; + value = p.getInferredValuesList(extendTo)[i]; } } else { value = p.V; @@ -81,9 +81,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective { this._dataSet.push([ this.intlService.localizeText("INFO_LIB_AMONT"), "", "", - this.getIthValue(pb.prms.Z1, vi), + this.getIthValue(pb.prms.Z1, vi, this._pbResults.size), "", "", - this.getIthValue(pb.prms.Q, vi), + this.getIthValue(pb.prms.Q, vi, this._pbResults.size), ]); } @@ -111,9 +111,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective { this._dataSet.push([ this.intlService.localizeText("INFO_LIB_AVAL"), "", "", - this.getIthValue(pb.prms.Z2, vi), + this.getIthValue(pb.prms.Z2, vi, this._pbResults.size), "", "", - this.getIthValue(pb.prms.Q, vi), + this.getIthValue(pb.prms.Q, vi, this._pbResults.size), ]); } } diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html index db8aa6d91..a4a603342 100644 --- a/src/app/components/pb-results/pb-results.component.html +++ b/src/app/components/pb-results/pb-results.component.html @@ -1,5 +1,4 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log> <variable-results-selector [results]="pbResults" (indexChange)="variableIndexChanged()"> @@ -8,7 +7,10 @@ <log #iterationLog></log> <!-- tableau de résultats des bassins --> - <pb-results-table *ngIf="showBasinsResults" [results]="pbResults"></pb-results-table> + <pb-results-table *ngIf="hasBasinResults" [results]="pbResults"></pb-results-table> + + <!-- table des résultats fixés --> + <fixed-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></fixed-results> <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]" [currentItem]="'charts'" [align]="'left'"></quicknav> --> diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts index ed974c71b..6623a32ac 100644 --- a/src/app/components/pb-results/pb-results.component.ts +++ b/src/app/components/pb-results/pb-results.component.ts @@ -1,16 +1,16 @@ import { Component, ViewChild, DoCheck } from "@angular/core"; -import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd"; - import { LogComponent } from "../log/log.component"; import { CalculatorResults } from "../../results/calculator-results"; import { PbResultsTableComponent } from "./pb-results-table.component"; import { PrebarrageResults } from "../../results/prebarrage-results"; import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; import { I18nService } from "../../services/internationalisation.service"; -import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component"; +import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component"; import { FixedResults } from "../../results/fixed-results"; +import { Result } from "jalhyd"; + @Component({ selector: "pb-results", templateUrl: "./pb-results.component.html", @@ -32,6 +32,9 @@ export class PbResultsComponent implements DoCheck { @ViewChild(VariableResultsSelectorComponent) private variableResultsSelectorComponent: VariableResultsSelectorComponent; + @ViewChild(FixedResultsComponent) + private fixedResultsComponent: FixedResultsComponent; + @ViewChild("generalLog") private generalLogComponent: LogComponent; @@ -59,23 +62,19 @@ export class PbResultsComponent implements DoCheck { return this._pbResults; } + // true if any result is present public get hasResults(): boolean { return this._pbResults && this._pbResults.hasResults; } - public get showBasinsResults(): boolean { - let ret = this._pbResults && this._pbResults.hasResults; - if ( - this._pbResults - && this._pbResults.variatedParameters - && this._pbResults.variatedParameters.length > 0 - ) { - ret = ret - && this._pbResults.variableIndex !== undefined - && this._pbResults.result.resultElements[this._pbResults.variableIndex] !== undefined - && this._pbResults.result.resultElements[this._pbResults.variableIndex].ok; - } - return ret; + // true if basin results are present + public get hasBasinResults(): boolean { + return this._pbResults && this._pbResults.hasBasinResults; + } + + // true if wall results are present + public get hasWallResults(): boolean { + return this._pbResults && this._pbResults.hasWallResults; } /** @@ -100,6 +99,9 @@ export class PbResultsComponent implements DoCheck { if (this.variableResultsSelectorComponent) { this.variableResultsSelectorComponent.results = undefined; } + if (this.fixedResultsComponent) { + this.fixedResultsComponent.results = undefined; + } /* if (this.profileChartComponent) { this.profileChartComponent.results = undefined; } */ @@ -281,9 +283,10 @@ export class PbResultsComponent implements DoCheck { * @returns true si les résultats ont pu être mis à jour */ private updateResults() { - let pabUpdated: boolean; + let pbTableUpdated: boolean; let profileChartUpdated: boolean; let selectorUpdated: boolean; + let fixedResultsUpdated: boolean; // results or not, there might be a log const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ? @@ -293,27 +296,49 @@ export class PbResultsComponent implements DoCheck { this.generalLogComponent.log = this.globalLog; */ } + // show selector as long as any result is present if (this.hasResults) { - pabUpdated = this.pbResultsTableComponent !== undefined; - if (pabUpdated) { - this.pbResultsTableComponent.results = this._pbResults; - } selectorUpdated = this.variableResultsSelectorComponent !== undefined; if (selectorUpdated) { this.variableResultsSelectorComponent.results = this._pbResults; } + } else { + selectorUpdated = true; + } + if (this.hasBasinResults) { + pbTableUpdated = this.pbResultsTableComponent !== undefined; + if (pbTableUpdated) { + this.pbResultsTableComponent.results = this._pbResults; + } /* profileChartUpdated = this.profileChartComponent !== undefined; if (profileChartUpdated) { this.profileChartComponent.results = this._pbResults; this.profileChartComponent.updateView(); } */ } else { - pabUpdated = true; + pbTableUpdated = true; profileChartUpdated = true; - selectorUpdated = true; + } + if (this.hasWallResults) { + fixedResultsUpdated = this.fixedResultsComponent !== undefined; + if (fixedResultsUpdated) { + // trick to show only the result of a given iteration, without + // modifying FixedResultsComponent + const iterationResult = new FixedResults(); + for (const fp of this._pbResults.cloisonResults.fixedParameters) { + iterationResult.addFixedParameter(fp); + } + iterationResult.result = new Result( + this._pbResults.cloisonResults.result.resultElements[this._pbResults.variableIndex], + this._pbResults.cloisonResults.result.sourceNub + ); + this.fixedResultsComponent.results = iterationResult; + } + } else { + fixedResultsUpdated = true; } - return pabUpdated && logUpdated && profileChartUpdated && selectorUpdated; + return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && fixedResultsUpdated; } public get uitextGeneralLogTitle(): string { diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 63e6d00f4..735e7dea7 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -60,9 +60,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni /** Records existing walls as they are built, to detect if multiple walls connect the same pair of basins */ private existingWalls: { [key: string]: number }; - /** Stores appropriate number suffix for a given wall uid (related to existingWalls above) */ - private wallsSuffixes: { [key: string]: number }; - public constructor( @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent, private i18nService: I18nService, @@ -144,7 +141,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni */ private graphDefinition() { this.existingWalls = {}; - this.wallsSuffixes = {}; + this.pbSchema.wallsSuffixes = {}; const def: string[] = [ "graph TB" ]; // river upstream / downstream @@ -159,7 +156,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni const sortedWalls: PbCloison[] = []; for (const c of this.model.children) { if (c instanceof PbBassin) { - def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges + def.push(`${c.uid}("${this.itemDescription(c)}")`); // rounded edges def.push(`class ${c.uid} basin;`); } else if (c instanceof PbCloison) { // store, to draw later @@ -178,11 +175,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni } // affect suffix if needed if (this.existingWalls[basinsPair] > 0) { - this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair]; + this.pbSchema.wallsSuffixes[c.uid] = this.existingWalls[basinsPair]; } this.existingWalls[basinsPair]++; // draw wall Node - def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges + def.push(`${c.uid}["${this.itemDescription(c)}"]`); // square edges def.push(`class ${c.uid} wall;`); // draw "arrow" with 2 lines def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`); @@ -259,7 +256,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni } public get prefixedItemDescription(): string { - let desc = this.itemDesription(this._selectedItem); + let desc = this.itemDescription(this._selectedItem); if (this._selectedItem instanceof PbCloison) { desc = this.i18nService.localizeText("INFO_PB_CLOISON") + " " + desc; } @@ -270,23 +267,17 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni } /** Returns a short description of the given item: wall or basin */ - private itemDesription(item: PbCloison | PbBassin): string { + private itemDescription(item: PbCloison | PbBassin): string { let desc = ""; - if (item instanceof PbCloison) { - const upstreamBasinName = item.bassinAmont === undefined - ? this.i18nService.localizeText("INFO_LIB_AMONT") - : "B" + (this.model.findBasinPosition(item.bassinAmont.uid) + 1); - const downstreamBasinName = item.bassinAval === undefined - ? this.i18nService.localizeText("INFO_LIB_AVAL") - : "B" + (this.model.findBasinPosition(item.bassinAval.uid) + 1); - desc = upstreamBasinName + "-" + downstreamBasinName; - // if a similar wall already exists, suffix ! - if (item.uid in this.wallsSuffixes) { - desc += " (" + this.wallsSuffixes[item.uid] + ")"; + if (item !== undefined) { + desc = this.i18nService.localizeMessage(item.description); + if (item instanceof PbCloison) { + // there might be multiple walls between the same pair of basins + if (item.uid in this.pbSchema.wallsSuffixes) { + desc += " (" + this.pbSchema.wallsSuffixes[item.uid] + ")"; + } } - } else if (item instanceof PbBassin) { - desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.model.findBasinPosition(item.uid) + 1); - } // else undefined + } return desc; } diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts index af8dfe927..ff36f82b1 100644 --- a/src/app/components/variable-results-selector/variable-results-selector.component.ts +++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts @@ -1,8 +1,11 @@ import { Component, Output, EventEmitter } from "@angular/core"; import { I18nService } from "../../services/internationalisation.service"; -import { fv, longestVarNgParam } from "../../util"; +import { fv, longestVarParam } from "../../util"; import { MultiDimensionResults } from "../../results/multidimension-results"; +import { PrebarrageResults } from "../../results/prebarrage-results"; + +import { CalculatorType, PbCloison, Structure } from "jalhyd"; @Component({ selector: "variable-results-selector", @@ -40,12 +43,12 @@ export class VariableResultsSelectorComponent { // pre-extract variable parameters values this.varValues = []; // find longest list - const lvp = longestVarNgParam(this._results.variatedParameters); + const lvp = longestVarParam(this._results.variatedParameters); this.size = lvp.size; // get extended values lists for each variable parameter for (const v of this._results.variatedParameters) { const vv = []; - const iter = v.getExtendedValuesIterator(this.size); + const iter = v.param.getExtendedValuesIterator(this.size); while (iter.hasNext) { const nv = iter.next(); vv.push(fv(nv.value)); @@ -76,14 +79,33 @@ export class VariableResultsSelectorComponent { for (let i = 0; i < this.varValues.length; i++) { const vv = this.varValues[i]; const vp = this._results.variatedParameters[i]; - let symbol = vp.symbol; + let symbol = vp.param.symbol; // is vp a parameter of a child Nub ? if ( - vp.paramDefinition.parentNub - && vp.paramDefinition.parentNub !== vp.paramDefinition.originNub + vp.param.parentNub + && vp.param.parentNub !== vp.param.originNub ) { - const pos = vp.paramDefinition.parentNub.findPositionInParent() + 1; - symbol = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + pos + "_" + symbol; + let childPrefix: string; + // prefix the label depending on (grand)children type + switch (vp.param.originNub.calcType) { + case CalculatorType.PreBarrage: + const struct = vp.param.parentNub as Structure; + const pbRes = this._results as PrebarrageResults; + const wall = struct.parent as PbCloison; + const posS = struct.findPositionInParent() + 1; + childPrefix = this.intlService.localizeMessage(wall.description); + // there might be multiple walls between the same pair of basins + if (wall.uid in pbRes.wallsSuffixes) { + childPrefix += " (" + pbRes.wallsSuffixes[wall.uid] + ")"; + } + childPrefix += "_" + this.intlService.localizeText("INFO_LIB_STRUCTURE_N_COURT") + posS; + break; + case CalculatorType.MacroRugoCompound: + const posMR = vp.param.parentNub.findPositionInParent() + 1; + childPrefix = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + posMR; + break; + } + symbol = childPrefix + "_" + symbol; } kv.push(`${symbol} = ${vv[index]}`); } diff --git a/src/app/formulaire/definition/form-courbe-remous.ts b/src/app/formulaire/definition/form-courbe-remous.ts index 844a2c2c8..304fef0ba 100644 --- a/src/app/formulaire/definition/form-courbe-remous.ts +++ b/src/app/formulaire/definition/form-courbe-remous.ts @@ -15,7 +15,7 @@ export class FormulaireCourbeRemous extends FormulaireSection { constructor() { super(); - this._remousResults = new RemousResults(); + this._remousResults = new RemousResults(this); this._props["varCalc"] = ""; // important } diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 305bc6781..ca1d82ad5 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -8,7 +8,8 @@ import { SectionNub, acSection, ParamDefinition, - Result + Result, + VariatedDetails } from "jalhyd"; import { FormulaireElement } from "../elements/formulaire-element"; @@ -512,18 +513,9 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs return ngparam; } - public getVariatedParameters(): NgParameter[] { - let res: NgParameter[] = []; - // find variated local parameters - res = this.getDisplayedParamListFromState(ParamRadioConfig.VAR); - // add variated linked parameters - const pms = this.getDisplayedParamListFromState(ParamRadioConfig.LINK); - for (const p of pms) { - if (p.paramDefinition.hasMultipleValues) { - res.push(p); - } - } - return res; + /** find variated (possibly linked) parameters from model, and get their values at the same time */ + public getVariatedParameters(): VariatedDetails[] { + return this._currentNub.findVariatedParams(); } /** diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index 6e674d219..d439b104a 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -7,7 +7,7 @@ import { ParamRadioConfig, NgParameter } from "../elements/ngparam"; import { FieldSet } from "../elements/fieldset"; import { FormulaireNode } from "../elements/formulaire-node"; -import { Nub, IObservable } from "jalhyd"; +import { Nub, IObservable, VariatedDetails } from "jalhyd"; export class FormulaireFixedVar extends FormulaireDefinition { @@ -20,7 +20,7 @@ export class FormulaireFixedVar extends FormulaireDefinition { constructor(parent?: FormulaireNode) { super(parent); this._fixedResults = new FixedResults(); - this._varResults = new VarResults(); + this._varResults = new VarResults(this); } public get fixedResults() { @@ -99,7 +99,7 @@ export class FormulaireFixedVar extends FormulaireDefinition { const computedParam: NgParameter = this.getComputedParameter(); this.resetFormResults(); // to avoid adding fixed parameters more than once (see below) this.addFixedParameters(); - const varParams: NgParameter[] = this.getVariatedParameters(); + const varParams: VariatedDetails[] = this.getVariatedParameters(); if (varParams.length === 0) { // pas de paramètre à varier diff --git a/src/app/formulaire/definition/form-macrorugo-compound.ts b/src/app/formulaire/definition/form-macrorugo-compound.ts index c94dad30a..d988c4424 100644 --- a/src/app/formulaire/definition/form-macrorugo-compound.ts +++ b/src/app/formulaire/definition/form-macrorugo-compound.ts @@ -1,4 +1,4 @@ -import { IObservable, Nub, MacrorugoCompound, Result, MRCInclination } from "jalhyd"; +import { IObservable, Nub, MacrorugoCompound, Result, MRCInclination, VariatedDetails } from "jalhyd"; import { FieldSet } from "../elements/fieldset"; import { FieldsetContainer } from "../elements/fieldset-container"; @@ -121,7 +121,7 @@ export class FormulaireMacrorugoCompound extends FormulaireRepeatableFieldset { protected reaffectResultComponents() { const mrc: MacrorugoCompound = (this.currentNub as MacrorugoCompound); const computedParam: NgParameter = this.getComputedParameter(); - const varParams: NgParameter[] = this.getVariatedParameters(); + const varParams: VariatedDetails[] = this.getVariatedParameters(); // résultat de calcul de la passe à macrorugo complexe const mrcr = this.mrcResults; diff --git a/src/app/formulaire/definition/form-pab.ts b/src/app/formulaire/definition/form-pab.ts index 723d0713a..7f07d9da9 100644 --- a/src/app/formulaire/definition/form-pab.ts +++ b/src/app/formulaire/definition/form-pab.ts @@ -1,9 +1,9 @@ -import { Pab, Result } from "jalhyd"; +import { Pab, Result, VariatedDetails } from "jalhyd"; import { FormulaireDefinition } from "./form-definition"; import { PabResults } from "../../results/pab-results"; import { NgParameter } from "../elements/ngparam"; -import { longestVarNgParam } from "../../util"; +import { longestVarParam } from "../../util"; import { CalculatorResults } from "../../results/calculator-results"; /** @@ -35,7 +35,7 @@ export class FormulairePab extends FormulaireDefinition { protected reaffectResultComponents() { const pab: Pab = (this.currentNub as Pab); const computedParam: NgParameter = this.getComputedParameter(); - const varParams: NgParameter[] = this.getVariatedParameters(); + const varParams: VariatedDetails[] = this.getVariatedParameters(); // résultat de calcul de la passe à bassins const pabr = this.pabResults; @@ -55,7 +55,7 @@ export class FormulairePab extends FormulaireDefinition { pabr.Z2 = []; if (varParams.length > 0) { // find longest list - const lvp = longestVarNgParam(varParams); + const lvp = longestVarParam(varParams); const longest = lvp.size; // get extended values lists for Z2 if (pab.prms.Z2.hasMultipleValues) { diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index a3dcb71e8..43f7900af 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -1,4 +1,4 @@ -import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage } from "jalhyd"; +import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage, VariatedDetails, ParamDefinition, ParamDomainValue } from "jalhyd"; import { FormulaireFixedVar } from "./form-fixedvar"; import { PbSchema } from "../elements/pb-schema"; @@ -8,7 +8,8 @@ import { FormulairePbCloison } from "./form-pb-cloison"; import { FieldsetContainer } from "../elements/fieldset-container"; import { CalculatorResults } from "../../results/calculator-results"; import { PrebarrageResults } from "../../results/prebarrage-results"; -import { NgParameter } from "../elements/ngparam"; +import { NgParameter, ParamRadioConfig } from "../elements/ngparam"; +import { longestVarParam } from "../../util"; /** * Formulaire pour les PréBarrage @@ -50,7 +51,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { public get results(): CalculatorResults[] { // ensure help links are propagated this._pbResults.helpLinks = this.helpLinks; - return [ this.fixedResults, this._pbResults ]; + return [ this._pbResults ]; } public get hasResults(): boolean { @@ -191,7 +192,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar { public update(sender: IObservable, data: any) { super.update(sender, data); if (sender instanceof FormulairePbCloison) { - // console.log("HOH PUTAIN CE BIG QUATTRO HOYOYOYOYOY", this.kids[0].constructor.name); if (data.action === "updateBasin") { this.refreshSchema(data.value); } @@ -202,8 +202,8 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.runNubCalc(this.currentNub); this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization // reset variable index to avoid trying to access an index > 0 when nothing varies - const pabr = this.pbResults; - pabr.variableIndex = 0; + const pbr = this.pbResults; + pbr.variableIndex = 0; this.reaffectResultComponents(); } @@ -211,30 +211,52 @@ export class FormulairePrebarrage extends FormulaireFixedVar { protected reaffectResultComponents() { const pb: PreBarrage = (this.currentNub as PreBarrage); const computedParam: NgParameter = this.getComputedParameter(); - const varParams: NgParameter[] = this.getVariatedParameters(); + + // cacher les résultats + this.pbResults.reset(); + this.addFixedParameters(); // pour le sélecteur d'itérations + const varParams: VariatedDetails[] = this.getVariatedParameters(); if (varParams) { this.pbResults.variatedParameters = varParams; + const lvp = longestVarParam(this._pbResults.variatedParameters); + this._pbResults.size = lvp.size; } - // cacher les résultats de la cloison - this.fixedResults.reset(); - this.addFixedParameters(); - // résultats selon l'objet sélectionné sur le schéma if (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison) { - // cacher les résultats de bassins - this.pbResults.reset(); - // afficher les résultats de cloison - this.fixedResults.result = this._selectedItem.result; + this.pbResults.cloisonResults.result = this._selectedItem.result; if (computedParam !== undefined) { - this.fixedResults.calculatedParameter = computedParam; + this.pbResults.cloisonResults.calculatedParameter = computedParam; } + // transmission des suffixes de cloisons calculés par l'algo de tri de PbSchemaComponent, + // pour le sélecteur de conditions limites + const pbs = this.kids[0] as PbSchema; + this.pbResults.wallsSuffixes = pbs.wallsSuffixes; + // astuce clodo : si un paramètre d'un ouvrage de cette cloison varie, on + // l'ajoute sous forme de faux paramètre fixe + /* for (const s of this._selectedItem.structures) { + for (const p of s.parameterIterator) { + if (p.hasMultipleValues) { + this._pbResults.cloisonResults.addFixedParameter( + new NgParameter( + new ParamDefinition( + undefined, + p.symbol, + ParamDomainValue.ANY, + p.unit, + p.getInferredValuesList(this.pbResults.size)[this.pbResults.variableIndex] + ), + this + ) + ); + } + } + } */ } else { // afficher les résultats des bassins - this.pbResults.reset(); // résultat général du Nub (amont, aval, débit) this.pbResults.result = pb.result; this.pbResults.calculatedParameter = computedParam; @@ -245,16 +267,20 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } } - /** - * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... : - * effacement des résultats, application des dépendances, ... - */ - /* public reset() { - this.resetResults(); - } */ + public addFixedParameters() { + // @TODO lire dans le modèle ! + for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.FIX)) { + this._pbResults.cloisonResults.addFixedParameter(p); + } + + for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.LINK)) { + if (!p.paramDefinition.hasMultipleValues) { + this._pbResults.cloisonResults.addFixedParameter(p); + } + } + } public resetFormResults() { - this._fixedResults.reset(); this._pbResults.reset(); } diff --git a/src/app/formulaire/definition/form-section-parametree.ts b/src/app/formulaire/definition/form-section-parametree.ts index f4d2319fd..b1d6dcf4a 100644 --- a/src/app/formulaire/definition/form-section-parametree.ts +++ b/src/app/formulaire/definition/form-section-parametree.ts @@ -32,7 +32,7 @@ export class FormulaireSectionParametree extends FormulaireSection { const sect: acSection = sectNub.section; this._sectionResults.section = sect; - const varParams = this.getSectionVariatedParameters(); + const varParams = this.getVariatedParameters(); if (varParams.length > 0) { // résultats variés avec tous les résultats complémentaires this._varResults.variatedParameters = varParams; @@ -71,8 +71,4 @@ export class FormulaireSectionParametree extends FormulaireSection { res.push(this._sectionResults); return res; } - - public getSectionVariatedParameters(): NgParameter[] { - return this.getDisplayedParamListFromState(ParamRadioConfig.VAR); - } } diff --git a/src/app/formulaire/elements/ngparam.ts b/src/app/formulaire/elements/ngparam.ts index 154299564..fa3c4b9cb 100644 --- a/src/app/formulaire/elements/ngparam.ts +++ b/src/app/formulaire/elements/ngparam.ts @@ -307,10 +307,6 @@ export class NgParameter extends InputField implements Observer { } } - public getExtendedValuesIterator(size: number): INumberIterator { - return this._paramDef.getExtendedValuesIterator(size); - } - /** * notification envoyée après la modification de la valeur du paramètre */ diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts index 7ec01a39c..278b7fe39 100644 --- a/src/app/formulaire/elements/pb-schema.ts +++ b/src/app/formulaire/elements/pb-schema.ts @@ -11,6 +11,9 @@ import { FormulairePrebarrage } from "../definition/form-prebarrage"; */ export class PbSchema extends FormulaireElement { + /** Stores appropriate number suffix for a given wall uid (related to existingWalls above) */ + public wallsSuffixes: { [key: string]: number }; + public parseConfig(json: {}) { this._confId = json["id"]; } diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts index 4b2aee2ed..c3669acfd 100644 --- a/src/app/results/multidimension-results.ts +++ b/src/app/results/multidimension-results.ts @@ -1,11 +1,12 @@ import { CalculatedParamResults } from "./param-calc-results"; -import { NgParameter } from "../formulaire/elements/ngparam"; + +import { VariatedDetails } from "jalhyd"; export class MultiDimensionResults extends CalculatedParamResults { /** paramètres variés */ - public variatedParameters: NgParameter[]; + public variatedParameters: VariatedDetails[]; /** index de la valeur du paramètre varié à afficher dans les résultats */ public variableIndex = 0; diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts index 35da1e4d9..bae4f7709 100644 --- a/src/app/results/plottable-data.ts +++ b/src/app/results/plottable-data.ts @@ -1,5 +1,7 @@ import { ChartType } from "./chart-type"; +import { ParamDefinition } from "jalhyd"; + /** * Une interface pour nourrir un ResultsChartComponent */ @@ -20,7 +22,7 @@ export interface PlottableData { * Returns the translated name of the given symbol (usually a result or child result) * if available, with its unit, but without the symbol itself */ - expandLabelFromSymbol(symbol: string): string; + expandLabelFromSymbol(p: ParamDefinition): string; /** * Returns a list of plottable parameters / result elements, that can be defined diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts index 82601908c..caf34a119 100644 --- a/src/app/results/plottable-macrorugo-compound-results.ts +++ b/src/app/results/plottable-macrorugo-compound-results.ts @@ -2,6 +2,8 @@ import { PlottableData } from "./plottable-data"; import { ChartType } from "./chart-type"; import { MacrorugoCompoundResults } from "./macrorugo-compound-results"; +import { ParamDefinition } from "jalhyd"; + export class PlottableMacrorugoCompoundResults implements PlottableData { public graphType: ChartType = ChartType.Scatter; @@ -32,8 +34,8 @@ export class PlottableMacrorugoCompoundResults implements PlottableData { return this.mrcResults.headers[this.mrcResults.columns.indexOf(symbol)]; } - public expandLabelFromSymbol(symbol: string): string { - return symbol; + public expandLabelFromSymbol(p: ParamDefinition): string { + return p.symbol; } /** diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts index 7f52a5717..f863a9fa0 100644 --- a/src/app/results/plottable-pab-results.ts +++ b/src/app/results/plottable-pab-results.ts @@ -3,6 +3,8 @@ import { PabResults } from "./pab-results"; import { ChartType } from "./chart-type"; import { ServiceFactory } from "../services/service-factory"; +import { ParamDefinition } from "jalhyd"; + export class PlottablePabResults implements PlottableData { public graphType: ChartType = ChartType.Scatter; @@ -37,8 +39,8 @@ export class PlottablePabResults implements PlottableData { } } - public expandLabelFromSymbol(symbol: string): string { - return symbol; + public expandLabelFromSymbol(p: ParamDefinition): string { + return p.symbol; } /** diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts index cea988714..fb92d9fb6 100644 --- a/src/app/results/prebarrage-results.ts +++ b/src/app/results/prebarrage-results.ts @@ -2,18 +2,29 @@ import { Result } from "jalhyd"; import { ServiceFactory } from "../services/service-factory"; import { MultiDimensionResults } from "./multidimension-results"; +import { FixedResults } from "./fixed-results"; export class PrebarrageResults extends MultiDimensionResults { /** résultats des bassins, dans l'ordre */ public bassinsResults: Result[]; + /** résultat de la cloison actuellement sélectionnée (nourrit le FixedResultsComponent) */ + public cloisonResults: FixedResults; + /** symboles des colonnes de résultat */ protected _columns: string[]; + /** size of the longest variating parameter */ + public size: number; + + /** Stores appropriate number suffix for a given wall uid (copied from PbSchema) */ + public wallsSuffixes: { [key: string]: number }; + public constructor() { super(); this.reset(); + this.size = 1; // boulette-proufe // standard headers this._columns = [ "BASSIN", @@ -49,6 +60,7 @@ export class PrebarrageResults extends MultiDimensionResults { public reset() { super.reset(); this.bassinsResults = []; + this.cloisonResults = new FixedResults(); this.result = undefined; } @@ -64,19 +76,26 @@ export class PrebarrageResults extends MultiDimensionResults { } } } - return (this.result && this.result.hasLog()); + return (this.cloisonResults && this.cloisonResults.result && this.cloisonResults.result.hasLog()); } - // do not test result.ok else log messages will prevent partial results from being displayed public get hasResults(): boolean { - return this.result !== undefined && ! this.result.hasOnlyErrors; + return this.hasBasinResults || this.hasWallResults; + } + + public get hasBasinResults(): boolean { + return this.bassinsResults.length > 0 && this.bassinsResults[0] && ! this.bassinsResults[0].hasOnlyErrors; + } + + public get hasWallResults(): boolean { + return this.cloisonResults && this.cloisonResults.result && ! this.cloisonResults.result.hasOnlyErrors; } /** retourne true si au moins un calcul a échoué (le log a un code négatif) */ public hasError(): boolean { let err = false; // log principal - err = (err || this.result.hasErrorMessages()); + err = (err || (this.cloisonResults && this.cloisonResults && this.cloisonResults.result.hasErrorMessages())); // logs des bassins for (const c of this.bassinsResults) { err = (err || c.hasErrorMessages()); @@ -87,7 +106,7 @@ export class PrebarrageResults extends MultiDimensionResults { /** retourne true si le calcul à l'itération i a échoué */ public iterationHasError(i: number): boolean { - let err = this.result.resultElements[i].hasErrorMessages(); + let err = this.cloisonResults && this.cloisonResults.result && this.cloisonResults.result.resultElements[i].hasErrorMessages(); // logs des bassins for (const c of this.bassinsResults) { err = (err || c.resultElements[i].hasErrorMessages()); @@ -100,7 +119,7 @@ export class PrebarrageResults extends MultiDimensionResults { public hasOnlyErrors(): boolean { let err = true; // log principal - err = (err && this.result.hasOnlyErrors); + err = (err && this.cloisonResults && this.cloisonResults.result && this.cloisonResults.result.hasOnlyErrors); // logs des bassins for (const c of this.bassinsResults) { err = (err && c.hasOnlyErrors); diff --git a/src/app/results/remous-results.ts b/src/app/results/remous-results.ts index a96934ca7..cd1bc51fb 100644 --- a/src/app/results/remous-results.ts +++ b/src/app/results/remous-results.ts @@ -2,8 +2,8 @@ import { cLog, CourbeRemousParams, Result, ResultElement, ParamDefinition, Param import { CalculatorResults } from "./calculator-results"; import { VarResults } from "./var-results"; -import { NgParameter } from "../formulaire/elements/ngparam"; import { ServiceFactory } from "../services/service-factory"; +import { FormulaireDefinition } from "../formulaire/definition/form-definition"; export class RemousResults extends CalculatorResults { @@ -51,8 +51,12 @@ export class RemousResults extends CalculatorResults { /** journal de calcul */ private _log: cLog; - constructor() { + /** pointer to form that instantiated this object */ + protected _form: FormulaireDefinition; + + constructor(form?: FormulaireDefinition) { super(); + this._form = form; this.reset(); } @@ -132,8 +136,8 @@ export class RemousResults extends CalculatorResults { this._log.clear(); this._log.addLog(this._result.globalLog); - this._varResults = new VarResults(); - this._varResults.variatedParameters = [ new NgParameter(this._xValues, undefined) ]; + this._varResults = new VarResults(this._form); + this._varResults.variatedParameters = [ { param: this._xValues, values: this._xValues.paramValues } ]; this._varResults.result = this._result; const keys = []; keys.push("Y"); // ligne d'eau diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts index a6322e0f6..043c0a896 100644 --- a/src/app/results/var-results.ts +++ b/src/app/results/var-results.ts @@ -1,20 +1,19 @@ -import { CalculatorResults } from "./calculator-results"; import { CalculatedParamResults } from "./param-calc-results"; -import { NgParameter } from "../formulaire/elements/ngparam"; -import { ResultElement, ParamFamily, capitalize, Nub } from "jalhyd"; import { ServiceFactory } from "../services/service-factory"; import { PlottableData } from "./plottable-data"; import { ChartType } from "./chart-type"; +import { longestVarParam } from "../util"; +import { FormulaireDefinition } from "../formulaire/definition/form-definition"; import { sprintf } from "sprintf-js"; -import { longestVarNgParam } from "../util"; +import { ResultElement, ParamFamily, capitalize, Nub, VariatedDetails, ParamDefinition, ParamDomain, ParamDomainValue } from "jalhyd"; export class VarResults extends CalculatedParamResults implements PlottableData { /** * paramètres variés */ - private _variatedParams: NgParameter[]; + private _variatedParams: VariatedDetails[]; /** * titre des colonnes des résultats variés @@ -36,6 +35,9 @@ export class VarResults extends CalculatedParamResults implements PlottableData */ protected _graphType: ChartType = ChartType.Scatter; + /** pointer to form that instantiated this object */ + protected _form: FormulaireDefinition; + /** * variated parameter or result displayed as chart's X-axis */ @@ -56,8 +58,9 @@ export class VarResults extends CalculatedParamResults implements PlottableData */ private _yValues: number[] = []; - constructor() { + constructor(form?: FormulaireDefinition) { super(); + this._form = form; this.reset(); } @@ -70,11 +73,11 @@ export class VarResults extends CalculatedParamResults implements PlottableData this.longest = 0; } - public get variatedParameters(): NgParameter[] { + public get variatedParameters(): VariatedDetails[] { return this._variatedParams; } - public set variatedParameters(p: NgParameter[]) { + public set variatedParameters(p: VariatedDetails[]) { this._variatedParams = p; } @@ -110,19 +113,19 @@ export class VarResults extends CalculatedParamResults implements PlottableData } // 2. variated param ? for (let i = 0; i < this.variatedParameters.length; i++) { - if (this._variatedParams[i].symbol === symbol) { + if (this._variatedParams[i].param.symbol === symbol) { return this.variableParamHeaders[i]; } } // 3. Result element / child result - return this.expandLabelFromSymbol(symbol); + return this.expandLabelFromSymbol(new ParamDefinition(undefined, symbol, ParamDomainValue.ANY)); } /** * Returns the translated name of the given symbol (usually a result or child result) with * its unit, but without the symbol itself */ - public expandLabelFromSymbol(symbol: string): string { + public expandLabelFromSymbol(p: ParamDefinition): string { let ret = ""; // calculator type for translation const sn = this.result.sourceNub; @@ -131,7 +134,8 @@ export class VarResults extends CalculatedParamResults implements PlottableData ct = sn.parent.calcType; } // detect children results - const match = /^([0-9]+)_(.+)$/.exec(symbol); + const match = /^([0-9]+)_(.+)$/.exec(p.symbol); + let symbol = p.symbol; if (match !== null) { const pos = +match[1]; // only parent translation file is loaded; look for children translations in it // ct = sn.getChildren()[pos].calcType; @@ -139,7 +143,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData const cn = capitalize(ServiceFactory.instance.i18nService.childName(sn)); ret += sprintf(ServiceFactory.instance.i18nService.localizeText("INFO_STUFF_N"), cn) + (pos + 1) + " : "; } - ret += ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct, symbol); + ret += ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct, symbol, p.unit); return ret; } @@ -160,16 +164,16 @@ export class VarResults extends CalculatedParamResults implements PlottableData // are we looking for a child variated param ? if (isChildResult !== null) { const children = this.result.sourceNub.getChildren(); - const parameterNub = vp.paramDefinition.parentNub; + const parameterNub = vp.param.parentNub; if (children.includes(parameterNub)) { // current var param is a child param ! const pos = parameterNub.findPositionInParent(); - isTheGoodChild = (pos === +isChildResult[1] && vp.symbol === isChildResult[2]); + isTheGoodChild = (pos === +isChildResult[1] && vp.param.symbol === isChildResult[2]); } } // in any case - if (isTheGoodChild || vp.symbol === symbol) { + if (isTheGoodChild || vp.param.symbol === symbol) { found = true; - const iter = vp.getExtendedValuesIterator(this.size); + const iter = vp.param.getExtendedValuesIterator(this.size); for (const v of iter) { series.push(v); } @@ -259,13 +263,13 @@ export class VarResults extends CalculatedParamResults implements PlottableData // variating parameters for (const v of this._variatedParams) { // exclude pseudo-family "ANY" - const fam = v.paramDefinition.family; + const fam = v.param.family; if (fam !== undefined && fam !== ParamFamily.ANY) { const f = ParamFamily[fam]; if (! (f in families)) { families[f] = []; } - families[f].push(v.symbol); + families[f].push(v.param.symbol); } } // results @@ -309,15 +313,15 @@ export class VarResults extends CalculatedParamResults implements PlottableData */ public getVariatingParametersSymbols(): string[] { if (this.result && this.result.sourceNub) { - return this._variatedParams.map(vp => this.getVariatingParameterSymbol(vp, this.result.sourceNub)); + return this._variatedParams.map(vp => this.getVariatingParameterSymbol(vp.param, this.result.sourceNub)); } else { return []; } } - public getVariatingParameterSymbol(vp: NgParameter, sourceNub: Nub): string { + public getVariatingParameterSymbol(vp: ParamDefinition, sourceNub: Nub): string { // detect if variated param is a children param - const parameterNub = vp.paramDefinition.parentNub; + const parameterNub = vp.parentNub; const children = sourceNub.getChildren(); let symb = vp.symbol; if (children.includes(parameterNub)) { @@ -329,13 +333,13 @@ export class VarResults extends CalculatedParamResults implements PlottableData public update() { // refresh param headers this._variableParamHeaders = this._variatedParams.map((v) => { - let h = CalculatorResults.paramLabel(v, true, this.result.sourceNub); - h += this.getHelpLink(v.symbol); + let h = this.expandLabelFromSymbol(v.param); + h += this.getHelpLink(v.param.symbol); return h; }); // liste la plus longue - const lvp = longestVarNgParam(this._variatedParams); + const lvp = longestVarParam(this._variatedParams); this.size = lvp.size; this.longest = lvp.index; @@ -358,7 +362,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData } this.chartY = defaultY; if (this.chartX === undefined || ! this.getAvailableXAxis().includes(this.chartX)) { - this.chartX = this.getVariatingParameterSymbol(this.variatedParameters[this.longest], this.result.sourceNub); + this.chartX = this.getVariatingParameterSymbol(this.variatedParameters[this.longest].param, this.result.sourceNub); } // calculator type for translation @@ -405,10 +409,10 @@ export class VarResults extends CalculatedParamResults implements PlottableData */ public resetDefaultAxisIfNeeded() { if (! this.getAvailableXAxis().includes(this.chartX)) { - this.chartX = this.variatedParameters[0].symbol; + this.chartX = this.variatedParameters[0].param.symbol; } if (! this.getAvailableYAxis().includes(this.chartY)) { - this.chartY = this.variatedParameters[0].symbol; + this.chartY = this.variatedParameters[0].param.symbol; } } } diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts index 6650d9ff0..d83a6507d 100644 --- a/src/app/services/formulaire.service.ts +++ b/src/app/services/formulaire.service.ts @@ -218,7 +218,9 @@ export class FormulaireService extends Observable { if (idx !== -1) { symbolBase = symbolBase.substring(idx + 2); } - let unit; + let unit: string; + // unit of a parameter is supposed to be read from JaLHyd ParadDefinition and passed + // through "forceUnit"; keys like "UNIT_*" in the config file are for extra results if (forceUnit) { unit = forceUnit; } else { diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts index 07faaaf93..bac781614 100644 --- a/src/app/services/internationalisation.service.ts +++ b/src/app/services/internationalisation.service.ts @@ -197,7 +197,7 @@ export class I18nService extends Observable implements Observer { // replace MSG_* with the translation of * ; allows // to inject any text translation in a message - m = m.replace(/MSG_([^ ,;\.]+)/g, (match, p1) => { + m = m.replace(/MSG_([^ ,;\.-]+)/g, (match, p1) => { return this.localizeText(p1); }); @@ -231,13 +231,17 @@ export class I18nService extends Observable implements Observer { } /** - * Returns the localized name for the children type of the current Nub + * Returns the localized name for the children type of the current Nub; "short" and "plural" + * options are mutually exclusive * @param plural if true, will return plural name + * @param short if true, will return short name */ - public childName(nub: Nub, plural: boolean = false) { + public childName(nub: Nub, plural: boolean = false, short: boolean = false) { const type: string = nub.childrenType; let k = "INFO_CHILD_TYPE_" + type.toUpperCase(); - if (plural) { + if (short) { + k += "_SHORT"; + } else if (plural) { k += "_PLUR"; } return this.localizeText(k); diff --git a/src/app/util.ts b/src/app/util.ts index 6f5719bc5..9e306c5ef 100644 --- a/src/app/util.ts +++ b/src/app/util.ts @@ -42,27 +42,6 @@ export function decodeHtml(html: string): string { return txt.value; } -/** - * Given a list of variated NgParameter, returns the parameter having the most - * values, its index in the list, and the number of values it contains - * @param varParams - */ -export function longestVarNgParam(varParams: NgParameter[]): { param: NgParameter, index: number, size: number } { - const variated: VariatedDetails[] = []; - for (const vp of varParams) { - variated.push({ - param: vp.paramDefinition, - values: vp.paramDefinition.paramValues - }); - } - const { param, index, size } = longestVarParam(variated); - return { - param: varParams[index], - index, - size - }; -} - /** * Given a list of variated ParamDefinition, returns the parameter having the most * values, its index in the list, and the number of values it contains diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 999715697..332f19295 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -169,10 +169,13 @@ "INFO_STUFF_N": "%s #", "INFO_CHILD_TYPE_OUVRAGE": "device", "INFO_CHILD_TYPE_OUVRAGE_PLUR": "devices", + "INFO_CHILD_TYPE_OUVRAGE_SHORT": "D", "INFO_CHILD_TYPE_MACRORUGO": "apron", "INFO_CHILD_TYPE_MACRORUGO_PLUR": "aprons", + "INFO_CHILD_TYPE_MACRORUGO_SHORT": "A", "INFO_CHILD_TYPE_PUISSANCE": "power", "INFO_CHILD_TYPE_PUISSANCE_PLUR": "powers", + "INFO_CHILD_TYPE_PUISSANCE_SHORT": "P", "INFO_DIALOG_PARSIM_DESC": "Choose a combination of values to generate the simulation", "INFO_FIELDSET_ADD": "Add", "INFO_FIELDSET_COPY": "Copy", @@ -282,6 +285,7 @@ "INFO_LIB_SELECT_STRUCTURE_SEUIL_RECT": "Rectangular weir", "INFO_LIB_SELECT_STRUCTURE": "Device", "INFO_LIB_STRUCT_CONTAINER": "Devices", + "INFO_LIB_STRUCTURE_N_COURT": "S", "INFO_LIB_TAU0": "Tractive force", "INFO_LIB_TOR": "Supercritical water line", "INFO_LIB_TOTAL": "Total", @@ -438,6 +442,8 @@ "INFO_PARAMFIELD_VARIATED": "Variated", "INFO_PARAMMODE_LIST": "Values list", "INFO_PARAMMODE_MINMAX": "Min/max", + "INFO_PB_BASSIN_DESCRIPTION": "B%order%", + "INFO_PB_CLOISON_DESCRIPTION": "%ub%-%db%", "INFO_PB_ADD_BASIN": "Add new basin", "INFO_PB_ADD_WALL": "Add new wall", "INFO_PB_BASSIN_N": "Basin #", @@ -463,7 +469,7 @@ "INFO_REMOUS_LARGEUR_BERGE": "Width at embankment level = %B% m", "INFO_REMOUS_RESSAUT_DEHORS": "Hydraulic jump detected %sens% abscissa %x% m", "INFO_REMOUS_RESSAUT_HYDRO": "Hydraulic jump detected between abscissa %xmin% and %xmax% m", - "INFO_REMOUSRESULTS_ABSCISSE": "Abscissa (m)", + "INFO_REMOUSRESULTS_ABSCISSE": "Abscissa", "INFO_REMOUSRESULTS_BERGE": "Embankment", "INFO_REMOUSRESULTS_FOND": "Bottom", "INFO_REMOUSRESULTS_TIRANT": "Draft (m)", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 7c9254fe8..6c0d1d94f 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -169,10 +169,13 @@ "INFO_STUFF_N": "%s n°", "INFO_CHILD_TYPE_OUVRAGE": "ouvrage", "INFO_CHILD_TYPE_OUVRAGE_PLUR": "ouvrages", + "INFO_CHILD_TYPE_OUVRAGE_SHORT": "O", "INFO_CHILD_TYPE_MACRORUGO": "radier", "INFO_CHILD_TYPE_MACRORUGO_PLUR": "radiers", + "INFO_CHILD_TYPE_MACRORUGO_SHORT": "R", "INFO_CHILD_TYPE_PUISSANCE": "puissance", "INFO_CHILD_TYPE_PUISSANCE_PLUR": "puissances", + "INFO_CHILD_TYPE_PUISSANCE_SHORT": "P", "INFO_DIALOG_PARSIM_DESC": "Choisir une combinaison de valeurs pour générer la simulation", "INFO_FIELDSET_ADD": "Ajouter", "INFO_FIELDSET_COPY": "Copier", @@ -282,6 +285,7 @@ "INFO_LIB_SELECT_STRUCTURE_SEUIL_RECT": "Seuil rectangulaire", "INFO_LIB_SELECT_STRUCTURE": "Ouvrage", "INFO_LIB_STRUCT_CONTAINER": "Ouvrages", + "INFO_LIB_STRUCTURE_N_COURT": "O", "INFO_LIB_TAU0": "Force tractrice", "INFO_LIB_TOR": "Ligne d'eau torrentielle", "INFO_LIB_TOTAL": "Total", @@ -438,6 +442,8 @@ "INFO_PARAMFIELD_VARIATED": "Varié", "INFO_PARAMMODE_LIST": "Liste de valeurs", "INFO_PARAMMODE_MINMAX": "Min/max", + "INFO_PB_BASSIN_DESCRIPTION": "B%order%", + "INFO_PB_CLOISON_DESCRIPTION": "%ub%-%db%", "INFO_PB_ADD_BASIN": "Ajouter un bassin", "INFO_PB_ADD_WALL": "Ajouter une cloison", "INFO_PB_BASSIN_N": "Bassin n°", @@ -463,7 +469,7 @@ "INFO_REMOUS_LARGEUR_BERGE": "Largeur au niveau des berges = %B% m", "INFO_REMOUS_RESSAUT_DEHORS": "Ressaut hydraulique détecté à l'%sens% de l'abscisse %x% m", "INFO_REMOUS_RESSAUT_HYDRO": "Ressaut hydraulique détecté entre les abscisses %xmin% et %xmax% m", - "INFO_REMOUSRESULTS_ABSCISSE": "Abscisse (m)", + "INFO_REMOUSRESULTS_ABSCISSE": "Abscisse", "INFO_REMOUSRESULTS_BERGE": "Berge", "INFO_REMOUSRESULTS_FOND": "Fond", "INFO_REMOUSRESULTS_TIRANT": "Tirant d'eau (m)", -- GitLab From 0f0467aa362e843c2c5f0609f1d96564ca1a902a Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 16 Jul 2020 11:30:03 +0200 Subject: [PATCH 102/117] PreBarrage: new not-really-fixed results component for Cloison --- src/app/app.module.ts | 2 + .../fixed-results.component.ts | 18 ++-- .../pb-cloison-results.component.ts | 35 ++++++++ .../pb-results/pb-results-table.component.ts | 32 ++----- .../pb-results/pb-results.component.html | 2 +- .../pb-results/pb-results.component.ts | 36 +++----- .../formulaire/definition/form-definition.ts | 84 ++++--------------- .../formulaire/definition/form-fixedvar.ts | 8 +- .../formulaire/definition/form-prebarrage.ts | 66 ++++++--------- src/app/results/multidimension-results.ts | 11 ++- src/app/results/pb-cloison-results.ts | 11 +++ src/app/results/prebarrage-results.ts | 19 ++++- src/app/util.ts | 22 ++++- src/styles.scss | 2 +- 14 files changed, 174 insertions(+), 174 deletions(-) create mode 100644 src/app/components/pb-results/pb-cloison-results.component.ts create mode 100644 src/app/results/pb-cloison-results.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e60a467cc..4d9072331 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -88,6 +88,7 @@ import { SelectModelFieldLineComponent } from "./components/select-model-field-l import { PabProfileChartComponent } from "./components/pab-profile-chart/pab-profile-chart.component"; import { PabTableComponent } from "./components/pab-table/pab-table.component"; import { PbSchemaComponent } from "./components/pb-schema/pb-schema.component"; +import { PbCloisonResultsComponent } from "./components/pb-results/pb-cloison-results.component"; import { VariableResultsSelectorComponent } from "./components/variable-results-selector/variable-results-selector.component"; import { QuicknavComponent } from "./components/quicknav/quicknav.component"; import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component"; @@ -224,6 +225,7 @@ const appRoutes: Routes = [ PabResultsTableComponent, PabTableComponent, PbResultsComponent, + PbCloisonResultsComponent, PbResultsTableComponent, PbSchemaComponent, VariableResultsSelectorComponent, diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index a29b9dbdf..f369c26d6 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -1,12 +1,11 @@ import { Component, ViewChild, ElementRef } from "@angular/core"; import { FixedResults } from "../../results/fixed-results"; -import { NgParameter } from "../../formulaire/elements/ngparam"; -import { CalculatorResults } from "../../results/calculator-results"; import { I18nService } from "../../services/internationalisation.service"; import { FormulaireService } from "../../services/formulaire.service"; import { ResultsComponentDirective } from "./results.component"; import { AppComponent } from "../../app.component"; +import { NgParameter } from "../../formulaire/elements/ngparam"; import { capitalize } from "jalhyd"; @@ -20,8 +19,9 @@ import { sprintf } from "sprintf-js"; ] }) export class FixedResultsComponent extends ResultsComponentDirective { + /** résultats non mis en forme */ - private _fixedResults: FixedResults; + protected _fixedResults: FixedResults; @ViewChild("tableContainer") table: ElementRef; @@ -103,7 +103,7 @@ export class FixedResultsComponent extends ResultsComponentDirective { label += this._fixedResults.getHelpLink(symbol); data.push({ label: label, - value: this.formattedValue(fp), + value: this.getFixedParamValue(fp), isCalcResult: false // for CSS }); } @@ -200,7 +200,7 @@ export class FixedResultsComponent extends ResultsComponentDirective { label += this._fixedResults.getHelpLink(fp.symbol); data.push({ label: label, - value: this.formattedValue(fp), + value: this.getFixedParamValue(fp), isCalcResult: false // for CSS }); } @@ -266,6 +266,14 @@ export class FixedResultsComponent extends ResultsComponentDirective { return data; } + /** + * Retourne la valeur du paramètre fixe; redéfini + * dans PbCloisonResultsComponent notamment + */ + protected getFixedParamValue(fp: NgParameter): string { + return this.formattedValue(fp); + } + public exportAsSpreadsheet() { AppComponent.exportAsSpreadsheet(this.table.nativeElement, true); } diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts new file mode 100644 index 000000000..404680865 --- /dev/null +++ b/src/app/components/pb-results/pb-cloison-results.component.ts @@ -0,0 +1,35 @@ +import { Component } from "@angular/core"; + +import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component"; +import { NgParameter } from "../../formulaire/elements/ngparam"; +import { getIthValue } from "../../util"; +import { PbCloisonResults } from "../../results/pb-cloison-results"; + +@Component({ + selector: "pb-cloison-results", + templateUrl: "../fixedvar-results/fixed-results.component.html", + styleUrls: [ + "../fixedvar-results/fixed-results.component.scss" + ] +}) +export class PbCloisonResultsComponent extends FixedResultsComponent { + + public set results(r: PbCloisonResults) { + this._fixedResults = r; + } + + public get results(): PbCloisonResults { + return this._fixedResults as PbCloisonResults; + } + + /** Retourne la valeur du paramètre fixe… qui n'en est pas forcément un ici ! */ + protected getFixedParamValue(fp: NgParameter): string { + let val: string; + if (fp.paramDefinition.hasMultipleValues) { + val = getIthValue(fp.paramDefinition, this.results.variableIndex, this.results.size); + } else { + val = this.formattedValue(fp.getValue()); + } + return val; + } +} diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts index c064fabb9..925eab960 100644 --- a/src/app/components/pb-results/pb-results-table.component.ts +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -1,11 +1,11 @@ import { Component, ViewChild, ElementRef } from "@angular/core"; -import { PreBarrage, PbBassin, ParamDefinition, ParamValueMode } from "jalhyd"; +import { PreBarrage, PbBassin } from "jalhyd"; import { I18nService } from "../../services/internationalisation.service"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; import { AppComponent } from "../../app.component"; -import { fv } from "../../util"; +import { fv, getIthValue } from "../../util"; import { PrebarrageResults } from "../../results/prebarrage-results"; @Component({ @@ -35,26 +35,6 @@ export class PbResultsTableComponent extends ResultsComponentDirective { super(); } - /** - * Returns value at index i for parameter p, whether it is variating - * or not, calculated or not - * @param p parameter - * @param i index - */ - protected getIthValue(p: ParamDefinition, i: number, extendTo: number): string { - let value: number; - if (p.hasMultipleValues) { - if (p.valueMode === ParamValueMode.CALCUL) { - value = p.parentNub.result.resultElements[i].vCalc; - } else { - value = p.getInferredValuesList(extendTo)[i]; - } - } else { - value = p.V; - } - return fv(value); - } - public set results(r: PrebarrageResults) { this._pbResults = r; @@ -81,9 +61,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective { this._dataSet.push([ this.intlService.localizeText("INFO_LIB_AMONT"), "", "", - this.getIthValue(pb.prms.Z1, vi, this._pbResults.size), + getIthValue(pb.prms.Z1, vi, this._pbResults.size), "", "", - this.getIthValue(pb.prms.Q, vi, this._pbResults.size), + getIthValue(pb.prms.Q, vi, this._pbResults.size), ]); } @@ -111,9 +91,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective { this._dataSet.push([ this.intlService.localizeText("INFO_LIB_AVAL"), "", "", - this.getIthValue(pb.prms.Z2, vi, this._pbResults.size), + getIthValue(pb.prms.Z2, vi, this._pbResults.size), "", "", - this.getIthValue(pb.prms.Q, vi, this._pbResults.size), + getIthValue(pb.prms.Q, vi, this._pbResults.size), ]); } } diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html index a4a603342..80a7d4501 100644 --- a/src/app/components/pb-results/pb-results.component.html +++ b/src/app/components/pb-results/pb-results.component.html @@ -10,7 +10,7 @@ <pb-results-table *ngIf="hasBasinResults" [results]="pbResults"></pb-results-table> <!-- table des résultats fixés --> - <fixed-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></fixed-results> + <pb-cloison-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></pb-cloison-results> <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]" [currentItem]="'charts'" [align]="'left'"></quicknav> --> diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts index 6623a32ac..0362c6b8b 100644 --- a/src/app/components/pb-results/pb-results.component.ts +++ b/src/app/components/pb-results/pb-results.component.ts @@ -6,7 +6,7 @@ import { PbResultsTableComponent } from "./pb-results-table.component"; import { PrebarrageResults } from "../../results/prebarrage-results"; import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; import { I18nService } from "../../services/internationalisation.service"; -import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component"; +import { PbCloisonResultsComponent } from "./pb-cloison-results.component"; import { FixedResults } from "../../results/fixed-results"; import { Result } from "jalhyd"; @@ -32,8 +32,8 @@ export class PbResultsComponent implements DoCheck { @ViewChild(VariableResultsSelectorComponent) private variableResultsSelectorComponent: VariableResultsSelectorComponent; - @ViewChild(FixedResultsComponent) - private fixedResultsComponent: FixedResultsComponent; + @ViewChild(PbCloisonResultsComponent) + private pbCloisonResultsComponent: PbCloisonResultsComponent; @ViewChild("generalLog") private generalLogComponent: LogComponent; @@ -79,8 +79,8 @@ export class PbResultsComponent implements DoCheck { /** * update results table and chart when the variable index changed (event sent by - * PabVariableResultsSelectorComponent); variable index is already set in - * pabResults at this time + * VariableResultsSelectorComponent); variable index is already set in + * pbResults at this time */ public variableIndexChanged() { this.updateView(); @@ -99,8 +99,8 @@ export class PbResultsComponent implements DoCheck { if (this.variableResultsSelectorComponent) { this.variableResultsSelectorComponent.results = undefined; } - if (this.fixedResultsComponent) { - this.fixedResultsComponent.results = undefined; + if (this.pbCloisonResultsComponent) { + this.pbCloisonResultsComponent.results = undefined; } /* if (this.profileChartComponent) { this.profileChartComponent.results = undefined; @@ -286,7 +286,7 @@ export class PbResultsComponent implements DoCheck { let pbTableUpdated: boolean; let profileChartUpdated: boolean; let selectorUpdated: boolean; - let fixedResultsUpdated: boolean; + let cloisonResultsUpdated: boolean; // results or not, there might be a log const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ? @@ -320,25 +320,15 @@ export class PbResultsComponent implements DoCheck { profileChartUpdated = true; } if (this.hasWallResults) { - fixedResultsUpdated = this.fixedResultsComponent !== undefined; - if (fixedResultsUpdated) { - // trick to show only the result of a given iteration, without - // modifying FixedResultsComponent - const iterationResult = new FixedResults(); - for (const fp of this._pbResults.cloisonResults.fixedParameters) { - iterationResult.addFixedParameter(fp); - } - iterationResult.result = new Result( - this._pbResults.cloisonResults.result.resultElements[this._pbResults.variableIndex], - this._pbResults.cloisonResults.result.sourceNub - ); - this.fixedResultsComponent.results = iterationResult; + cloisonResultsUpdated = this.pbCloisonResultsComponent !== undefined; + if (cloisonResultsUpdated) { + this.pbCloisonResultsComponent.results = this._pbResults.cloisonResults; } } else { - fixedResultsUpdated = true; + cloisonResultsUpdated = true; } - return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && fixedResultsUpdated; + return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && cloisonResultsUpdated; } public get uitextGeneralLogTitle(): string { diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index ca1d82ad5..debf7d04a 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -13,13 +13,12 @@ import { } from "jalhyd"; import { FormulaireElement } from "../elements/formulaire-element"; -import { NgParameter, ParamRadioConfig } from "../elements/ngparam"; +import { NgParameter } from "../elements/ngparam"; import { Field } from "../elements/field"; import { StringMap } from "../../stringmap"; import { FormulaireNode } from "../elements/formulaire-node"; import { FieldSet } from "../elements/fieldset"; import { FieldsetContainer } from "../elements/fieldset-container"; -import { SelectField } from "../elements/select-field"; import { DeepFieldsetIterator } from "../form-iterator/deep-fieldset-iterator"; import { TopFormulaireElementIterator } from "../form-iterator/top-element-iterator"; import { CalculatorResults } from "../../results/calculator-results"; @@ -299,6 +298,11 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs return false; } + /** + * Trouve le Ngparameter correspondant au symbole "symbol", parmi tous les + * éléments du formulaire + * @param symbol string + */ public getParamFromSymbol(symbol: string): NgParameter { for (const p of this.allFormElements) { if (p instanceof NgParameter) { @@ -309,26 +313,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } } - public getDisplayedParamFromState(st: ParamRadioConfig): NgParameter { - for (const p of this.allFormElements) { - if (p.isDisplayed && p instanceof NgParameter) { - if (p.radioState === st) { - return p; - } - } - } - } - - public getDisplayedParamListFromState(st: ParamRadioConfig): NgParameter[] { - const res = []; - for (const p of this.allFormElements) { - if (p.isDisplayed && p instanceof NgParameter && p.radioState === st) { - res.push(p); - } - } - return res; - } - public getFieldById(id: string): Field { const res = this.getFormulaireNodeById(id); if (res instanceof Field) { @@ -336,31 +320,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } } - public getFieldsetById(id: string): FieldSet { - const res = this.getFormulaireNodeById(id); - if (res instanceof FieldSet) { - return res; - } - } - - public getParameterValue(symbol: string): number { - for (const fs of this.allFieldsets) { - const p = fs.getNodeParameter(symbol); - if (p !== undefined) { - switch (p.radioState) { - case ParamRadioConfig.FIX: - return p.getValue(); - - case ParamRadioConfig.VAR: - case ParamRadioConfig.CAL: - return undefined; - } - } - } - - throw new Error(`Formulaire.getNodeParameterValue() : pas de paramètre ${symbol} trouvé`); - } - protected notifyReset() { this.notifyObservers({ "action": "resetForm" @@ -385,26 +344,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.notifyReset(); } - /** - * retourne la valeur actuellement sélectionnée d'un SelectField - * @param selectFieldId id du SelectField - * @returns valeur courante du select sans le préfixe - */ - public getSelectedValue(selectFieldId: string): any { - const select: SelectField = <SelectField>this.getFieldById(selectFieldId); - return select.getValue().value; - } - - /** - * retourne le label actuellement sélectionnée d'un SelectField - * @param selectFieldId id du SelectField - * @returns label courant du select - */ - public getSelectedLabel(selectFieldId: string): string { - const select: SelectField = <SelectField>this.getFieldById(selectFieldId); - return select.getValue().label; - } - public updateLocalisation(localisation: StringMap, lang: string) { this._specificLocalisation = localisation; this._currentLanguage = lang; @@ -518,6 +457,17 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs return this._currentNub.findVariatedParams(); } + /** find fixed (possibly linked) parameters from the given Nub */ + public getFixedParameters(): NgParameter[] { + const fixedParams: ParamDefinition[] = this._currentNub.findFixedParams(); + let fnp: NgParameter[] = []; + for (const fp of fixedParams) { + fnp.push(this.getParamFromSymbol(fp.symbol)); + } + fnp = fnp.filter((e) => e !== undefined); + return fnp; + } + /** * Triggers computation of the Nub, updates form results */ diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index d439b104a..ab2686541 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -41,15 +41,9 @@ export class FormulaireFixedVar extends FormulaireDefinition { } public addFixedParameters() { - for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.FIX)) { + for (const p of this.getFixedParameters()) { this._fixedResults.addFixedParameter(p); } - - for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.LINK)) { - if (!p.paramDefinition.hasMultipleValues) { - this._fixedResults.addFixedParameter(p); - } - } } public set graphType(t: ChartType) { diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts index 43f7900af..f6bc246a7 100644 --- a/src/app/formulaire/definition/form-prebarrage.ts +++ b/src/app/formulaire/definition/form-prebarrage.ts @@ -1,4 +1,4 @@ -import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage, VariatedDetails, ParamDefinition, ParamDomainValue } from "jalhyd"; +import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage, VariatedDetails } from "jalhyd"; import { FormulaireFixedVar } from "./form-fixedvar"; import { PbSchema } from "../elements/pb-schema"; @@ -8,7 +8,7 @@ import { FormulairePbCloison } from "./form-pb-cloison"; import { FieldsetContainer } from "../elements/fieldset-container"; import { CalculatorResults } from "../../results/calculator-results"; import { PrebarrageResults } from "../../results/prebarrage-results"; -import { NgParameter, ParamRadioConfig } from "../elements/ngparam"; +import { NgParameter } from "../elements/ngparam"; import { longestVarParam } from "../../util"; /** @@ -25,6 +25,9 @@ export class FormulairePrebarrage extends FormulaireFixedVar { /** configuration for re-creating basin form every time needed */ private basinFormConfig: string; + /** child form for walls */ + private wallForm: FormulairePbCloison; + /** configuration for re-creating wall form every time needed */ private wallFormConfig: string; @@ -138,18 +141,18 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.showFormElements(this.basinForm); } else if (node instanceof PbCloison) { - const wallForm = new FormulairePbCloison(this); - wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; - wallForm.currentNub = node; - wallForm.preparseConfig(this.wallFormConfig); - wallForm.parseConfig(this.wallFormConfig); + this.wallForm = new FormulairePbCloison(this); + this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison; + this.wallForm.currentNub = node; + this.wallForm.preparseConfig(this.wallFormConfig); + this.wallForm.parseConfig(this.wallFormConfig); // subscribe to upstream/downstream basin change - wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from… - ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(wallForm); + this.wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from… + ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm); // add fieldsets for existing Structures if (node.structures.length > 0) { for (const struct of node.structures) { - for (const e of wallForm.allFormElements) { + for (const e of this.wallForm.allFormElements) { if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ? e.addFromTemplate(0, undefined, struct, { resetResults: false }); } @@ -157,14 +160,14 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } } else { // if there was no existing structure, add a default one - for (const e of wallForm.allFormElements) { + for (const e of this.wallForm.allFormElements) { if (e instanceof FieldsetContainer) { e.addFromTemplate(0, undefined, undefined, { resetResults: false }); break; } } } - this.showFormElements(wallForm); + this.showFormElements(this.wallForm); } this.reaffectResultComponents(); } @@ -222,6 +225,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar { this.pbResults.variatedParameters = varParams; const lvp = longestVarParam(this._pbResults.variatedParameters); this._pbResults.size = lvp.size; + this._pbResults.cloisonResults.size = lvp.size; } // résultats selon l'objet sélectionné sur le schéma @@ -231,30 +235,19 @@ export class FormulairePrebarrage extends FormulaireFixedVar { if (computedParam !== undefined) { this.pbResults.cloisonResults.calculatedParameter = computedParam; } - // transmission des suffixes de cloisons calculés par l'algo de tri de PbSchemaComponent, - // pour le sélecteur de conditions limites - const pbs = this.kids[0] as PbSchema; - this.pbResults.wallsSuffixes = pbs.wallsSuffixes; - // astuce clodo : si un paramètre d'un ouvrage de cette cloison varie, on - // l'ajoute sous forme de faux paramètre fixe - /* for (const s of this._selectedItem.structures) { + // if some parameter is variating, add id too (trick with PbResultsComponent + for (const s of this._selectedItem.structures) { for (const p of s.parameterIterator) { if (p.hasMultipleValues) { - this._pbResults.cloisonResults.addFixedParameter( - new NgParameter( - new ParamDefinition( - undefined, - p.symbol, - ParamDomainValue.ANY, - p.unit, - p.getInferredValuesList(this.pbResults.size)[this.pbResults.variableIndex] - ), - this - ) - ); + const ngp = this.getParamFromSymbol(p.symbol); + this._pbResults.cloisonResults.addFixedParameter(ngp); } } - } */ + } + // transmission des suffixes de cloisons calculés par l'algo de tri de PbSchemaComponent, + // pour le sélecteur de conditions limites + const pbs = this.kids[0] as PbSchema; + this.pbResults.wallsSuffixes = pbs.wallsSuffixes; } else { // afficher les résultats des bassins // résultat général du Nub (amont, aval, débit) @@ -268,13 +261,8 @@ export class FormulairePrebarrage extends FormulaireFixedVar { } public addFixedParameters() { - // @TODO lire dans le modèle ! - for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.FIX)) { - this._pbResults.cloisonResults.addFixedParameter(p); - } - - for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.LINK)) { - if (!p.paramDefinition.hasMultipleValues) { + if (this.wallForm !== undefined) { + for (const p of this.wallForm.getFixedParameters()) { this._pbResults.cloisonResults.addFixedParameter(p); } } diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts index c3669acfd..44967427c 100644 --- a/src/app/results/multidimension-results.ts +++ b/src/app/results/multidimension-results.ts @@ -9,5 +9,14 @@ export class MultiDimensionResults extends CalculatedParamResults { public variatedParameters: VariatedDetails[]; /** index de la valeur du paramètre varié à afficher dans les résultats */ - public variableIndex = 0; + protected _variableIndex = 0; + + public get variableIndex(): number { + return this._variableIndex; + } + + /** redéfini par PrebarrageResults notamment */ + public set variableIndex(v: number) { + this._variableIndex = v; + } } diff --git a/src/app/results/pb-cloison-results.ts b/src/app/results/pb-cloison-results.ts new file mode 100644 index 000000000..44524dfac --- /dev/null +++ b/src/app/results/pb-cloison-results.ts @@ -0,0 +1,11 @@ +import { FixedResults } from "./fixed-results"; + +/** Fixed results, that are not really fixed (trick for PreBarrage) */ +export class PbCloisonResults extends FixedResults { + + /** index de la valeur du paramètre varié à afficher dans les résultats */ + public variableIndex = 0; + + /** size of the longest variating parameter */ + public size = 1; +} diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts index fb92d9fb6..301b8248c 100644 --- a/src/app/results/prebarrage-results.ts +++ b/src/app/results/prebarrage-results.ts @@ -2,7 +2,7 @@ import { Result } from "jalhyd"; import { ServiceFactory } from "../services/service-factory"; import { MultiDimensionResults } from "./multidimension-results"; -import { FixedResults } from "./fixed-results"; +import { PbCloisonResults } from "./pb-cloison-results"; export class PrebarrageResults extends MultiDimensionResults { @@ -10,7 +10,7 @@ export class PrebarrageResults extends MultiDimensionResults { public bassinsResults: Result[]; /** résultat de la cloison actuellement sélectionnée (nourrit le FixedResultsComponent) */ - public cloisonResults: FixedResults; + public cloisonResults: PbCloisonResults; /** symboles des colonnes de résultat */ protected _columns: string[]; @@ -57,10 +57,23 @@ export class PrebarrageResults extends MultiDimensionResults { }); } + // redéfinir le set() implique de redéfinir le get(), sinon /i + public get variableIndex(): number { + return this._variableIndex; + } + + public set variableIndex(v: number) { + this._variableIndex = v; + // set index in pseudo-fixed Cloison results too + this.cloisonResults.variableIndex = v; + } + public reset() { super.reset(); this.bassinsResults = []; - this.cloisonResults = new FixedResults(); + this.cloisonResults = new PbCloisonResults(); + this.cloisonResults.variableIndex = this._variableIndex; + this.cloisonResults.size = this.size; this.result = undefined; } diff --git a/src/app/util.ts b/src/app/util.ts index 9e306c5ef..0974a63da 100644 --- a/src/app/util.ts +++ b/src/app/util.ts @@ -1,7 +1,7 @@ import { NgParameter } from "./formulaire/elements/ngparam"; import { ServiceFactory } from "./services/service-factory"; -import { formattedValue, Nub, VariatedDetails, ParamDefinition } from "jalhyd"; +import { formattedValue, Nub, VariatedDetails, ParamDefinition, ParamValueMode } from "jalhyd"; export function logObject(obj: {}, m?: string) { // évite le message "Value below was evaluated just now" dans le debugger de Chrome @@ -31,6 +31,26 @@ export function fv(p: NgParameter | number): string { return formattedValue(value, nDigits); } +/** + * Returns value at index i for parameter p, whether it is variating + * or not, calculated or not + * @param p parameter + * @param i index + */ +export function getIthValue(p: ParamDefinition, i: number, extendTo: number): string { + let value: number; + if (p.hasMultipleValues) { + if (p.valueMode === ParamValueMode.CALCUL) { + value = p.parentNub.result.resultElements[i].vCalc; + } else { + value = p.getInferredValuesList(extendTo)[i]; + } + } else { + value = p.V; + } + return fv(value); +} + /** * Trick to decode HTML entities in a string * https://stackoverflow.com/a/7394787/5986614 diff --git a/src/styles.scss b/src/styles.scss index 11ffd2a86..4f086079e 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -365,7 +365,7 @@ var-results { } } -fixed-results { +fixed-results, pb-cloison-results { table.mat-table { -- GitLab From 7487cecbe2da8406d44daef73e88a12bea13ec17 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 16 Jul 2020 14:14:38 +0200 Subject: [PATCH 103/117] PreBarrage: enhance Cloison results --- .../fixed-results.component.ts | 34 ++++++++++++------- .../pb-cloison-results.component.ts | 7 ++++ src/app/results/prebarrage-results.ts | 2 +- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index f369c26d6..d1cfd454e 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -7,7 +7,7 @@ import { ResultsComponentDirective } from "./results.component"; import { AppComponent } from "../../app.component"; import { NgParameter } from "../../formulaire/elements/ngparam"; -import { capitalize } from "jalhyd"; +import { capitalize, Result, ResultElement } from "jalhyd"; import { sprintf } from "sprintf-js"; @@ -114,17 +114,17 @@ export class FixedResultsComponent extends ResultsComponentDirective { if ( res && res.resultElements.length > 0 - && res.resultElement - && res.resultElement.count() > 0 + && this.getResultElement(res) + && this.getResultElement(res).count() > 0 ) { const sn = this._fixedResults.result.sourceNub; let found = false; // 2.1 all results - for (const k of res.resultElement.keys) { + for (const k of this.getResultElement(res).keys) { if (k === symbol) { found = true; - const er: number = res.resultElement.getValue(k); + const er: number = this.getResultElement(res).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -152,9 +152,9 @@ export class FixedResultsComponent extends ResultsComponentDirective { if (! found) { for (const c of sn.getChildren()) { if (c.result) { - for (const k of c.result.resultElement.keys) { + for (const k of this.getResultElement(c.result).keys) { if (k === symbol) { - const er: number = c.result.resultElement.getValue(k); + const er: number = this.getResultElement(c.result).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -209,14 +209,14 @@ export class FixedResultsComponent extends ResultsComponentDirective { if ( res && res.resultElements.length > 0 - && res.resultElement - && res.resultElement.count() > 0 + && this.getResultElement(res) + && this.getResultElement(res).count() > 0 ) { const sn = this._fixedResults.result.sourceNub; // 2.1 all results - for (const k of res.resultElement.keys) { - const er: number = res.resultElement.getValue(k); + for (const k of this.getResultElement(res).keys) { + const er: number = this.getResultElement(res).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -242,8 +242,8 @@ export class FixedResultsComponent extends ResultsComponentDirective { // 2.2. children results for (const c of sn.getChildren()) { if (c.result) { - for (const k of c.result.resultElement.keys) { - const er: number = c.result.resultElement.getValue(k); + for (const k of this.getResultElement(c.result).keys) { + const er: number = this.getResultElement(c.result).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -274,6 +274,14 @@ export class FixedResultsComponent extends ResultsComponentDirective { return this.formattedValue(fp); } + /** + * Retourne l'élément de résultat en cours pour le résultat donné; + * redéfini dans PbCloisonResultsComponent notamment + */ + protected getResultElement(r: Result): ResultElement { + return r.resultElement; + } + public exportAsSpreadsheet() { AppComponent.exportAsSpreadsheet(this.table.nativeElement, true); } diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts index 404680865..0d2fe30cc 100644 --- a/src/app/components/pb-results/pb-cloison-results.component.ts +++ b/src/app/components/pb-results/pb-cloison-results.component.ts @@ -5,6 +5,8 @@ import { NgParameter } from "../../formulaire/elements/ngparam"; import { getIthValue } from "../../util"; import { PbCloisonResults } from "../../results/pb-cloison-results"; +import { Result, ResultElement } from "jalhyd"; + @Component({ selector: "pb-cloison-results", templateUrl: "../fixedvar-results/fixed-results.component.html", @@ -32,4 +34,9 @@ export class PbCloisonResultsComponent extends FixedResultsComponent { } return val; } + + /** Retourne l'élément de résultat en cours, en fonction de l'index variable */ + protected getResultElement(r: Result): ResultElement { + return r.resultElements[this.results.variableIndex]; + } } diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts index 301b8248c..36ad3f189 100644 --- a/src/app/results/prebarrage-results.ts +++ b/src/app/results/prebarrage-results.ts @@ -19,7 +19,7 @@ export class PrebarrageResults extends MultiDimensionResults { public size: number; /** Stores appropriate number suffix for a given wall uid (copied from PbSchema) */ - public wallsSuffixes: { [key: string]: number }; + public wallsSuffixes: { [key: string]: number } = {}; public constructor() { super(); -- GitLab From 939393c85d200e40a6b5c92da5b2b33af9b6c7ba Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 16 Jul 2020 14:14:58 +0200 Subject: [PATCH 104/117] e2e: add new tested calc types --- e2e/tested_calctypes.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/e2e/tested_calctypes.ts b/e2e/tested_calctypes.ts index e4eed0389..49b141aac 100644 --- a/e2e/tested_calctypes.ts +++ b/e2e/tested_calctypes.ts @@ -9,5 +9,6 @@ export const testedCalcTypes = [ // omit 16 - CloisonAval 17, 18, 19, 20, 21, 22, 23, 24, 25, // omit 26 - YAXN - 27, 29 + 27, 28, 29, 30 + // omit 31 - PbCloison and 32 - PbBassin ]; -- GitLab From 51ee49d35b8bfd5979add0cc197fd46b009e91de Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 16 Jul 2020 14:16:43 +0200 Subject: [PATCH 105/117] Modules Diagram: fix blank diagram issue with PreBarrage --- .../modules-diagram.component.ts | 66 ++++++++++--------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/src/app/components/modules-diagram/modules-diagram.component.ts b/src/app/components/modules-diagram/modules-diagram.component.ts index b701aeac9..363c9fd37 100644 --- a/src/app/components/modules-diagram/modules-diagram.component.ts +++ b/src/app/components/modules-diagram/modules-diagram.component.ts @@ -105,41 +105,47 @@ export class ModulesDiagramComponent implements AfterContentInit, AfterViewCheck } public ngAfterViewInit(): void { - // add click listener on every calculator node in the graph, that - // corresponds to an open module - this.nativeElement.querySelectorAll("g.node").forEach(item => { - if (item.id && this.formIsOpen(item.id)) { - item.style.cursor = "pointer"; - item.addEventListener("click", () => { - this.openCalc(item.id); - }); - } - }); + setTimeout(() => { // clodo trick + // add click listener on every calculator node in the graph, that + // corresponds to an open module + this.nativeElement.querySelectorAll("g.node").forEach(item => { + if (item.id && this.formIsOpen(item.id)) { + item.style.cursor = "pointer"; + item.addEventListener("click", () => { + this.openCalc(item.id); + }); + } + }); + }, 20); // @WARNING keep timeout > the one in ngAfterContentInit() below } public ngAfterContentInit(): void { this.error = false; - mermaid.initialize({ - // theme: "forest" - flowchart: { - curve: "basis" - } - }); - this.nativeElement = this.diagram.nativeElement; - - if (this.hasModules) { - // generate graph description - const graphDefinition = this.graphDefinition(); - // draw - try { - mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => { - this.nativeElement.innerHTML = svgCode; - }); - } catch (e) { - console.error(e); - this.error = true; + // clodo trick or displaying modules diagram coming from a + // PreBarrage module results in a blank diagram + setTimeout(() => { + mermaid.initialize({ + // theme: "forest" + flowchart: { + curve: "basis" + } + }); + this.nativeElement = this.diagram.nativeElement; + + if (this.hasModules) { + // generate graph description + const graphDefinition = this.graphDefinition(); + // draw + try { + mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => { + this.nativeElement.innerHTML = svgCode; + }); + } catch (e) { + console.error(e); + this.error = true; + } } - } + }, 10); } public resetZoom() { -- GitLab From 0144bbe2167d5356f6023c9874381e78fb5ca1ab Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 17 Jul 2020 12:25:39 +0200 Subject: [PATCH 106/117] English translations for PreBarrage --- src/app/calculators/pbcloison/en.json | 1 + src/app/calculators/prebarrage/en.json | 26 +++++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/app/calculators/pbcloison/en.json b/src/app/calculators/pbcloison/en.json index 2f9e94744..83f004a88 100644 --- a/src/app/calculators/pbcloison/en.json +++ b/src/app/calculators/pbcloison/en.json @@ -1,5 +1,6 @@ { "fs_wall_params": "Wall parameters", + "fs_wall_device": "Device", "select_upstream_basin": "Upstream basin", "select_downstream_basin": "Downstream basin", diff --git a/src/app/calculators/prebarrage/en.json b/src/app/calculators/prebarrage/en.json index a8e5ea027..8fb6bf3da 100644 --- a/src/app/calculators/prebarrage/en.json +++ b/src/app/calculators/prebarrage/en.json @@ -1,12 +1,20 @@ { - "fs_target": "Target parameter characteristics", - "fs_searched": "Searched parameter characteristics", + "fs_river_params": "River parameters", - "Ytarget": "Value of target parameter", - "Xinit": "Initial value for searched parameter", - "X": "Value for searched parameter", + "Q": "Flow", + "Z1": "Upstream water elevation", + "Z2": "Downstream water elevation", - "select_target_nub": "Module and parameter to calculate", - "select_target_result": "Targetted result", - "select_searched_param": "Searched parameter" -} \ No newline at end of file + "Z": "Water elevation", + "S": "Surface", + "ZF": "Bottom elevation", + "PV": "Dissipated power", + "YMOY": "Mean depth", + + "UNIT_Q": "m³/s", + "UNIT_S": "m²", + "UNIT_Z": "m", + "UNIT_ZF": "m", + "UNIT_YMOY": "m", + "UNIT_PV": "W/m³" +} -- GitLab From 2f42cdb5f030922b649fb7121db9ff91452fbd53 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 17 Jul 2020 14:18:33 +0200 Subject: [PATCH 107/117] Use TypeScript's "Optional Chaining" syntax --- .../fieldset-container/fieldset-container.component.ts | 2 +- .../fixedvar-results/fixedvar-results.component.ts | 2 +- src/app/components/jet-results/jet-results.component.ts | 4 ++-- src/app/components/log/log.component.ts | 4 ++-- src/app/components/pab-table/pab-table.component.ts | 8 ++++---- src/app/components/pb-schema/pb-schema.component.ts | 4 ++-- .../components/remous-results/remous-results.component.ts | 6 +++--- src/app/formulaire/definition/form-definition.ts | 2 +- src/app/formulaire/definition/form-section-parametree.ts | 6 +++--- src/app/formulaire/elements/select-field.ts | 4 ++-- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/app/components/fieldset-container/fieldset-container.component.ts b/src/app/components/fieldset-container/fieldset-container.component.ts index 65bdb84eb..45b87262e 100644 --- a/src/app/components/fieldset-container/fieldset-container.component.ts +++ b/src/app/components/fieldset-container/fieldset-container.component.ts @@ -126,7 +126,7 @@ export class FieldsetContainerComponent implements DoCheck, AfterViewInit { private updateValidity() { this._isValid = false; - if (this._fieldsetComponents !== undefined && this._fieldsetComponents.length > 0) { + if (this._fieldsetComponents?.length > 0) { this._isValid = this._fieldsetComponents.reduce( // callback ( diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts index eb491d2d9..04136deb5 100644 --- a/src/app/components/fixedvar-results/fixedvar-results.component.ts +++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts @@ -192,6 +192,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen } public get hasResults(): boolean { - return this._fixedResults !== undefined && this._fixedResults.hasResults; + return this._fixedResults?.hasResults; } } diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts index 9d991de25..6cf08319c 100644 --- a/src/app/components/jet-results/jet-results.component.ts +++ b/src/app/components/jet-results/jet-results.component.ts @@ -18,9 +18,9 @@ export class JetResultsComponent extends FixedVarResultsComponent { public get hasResults(): boolean { return ( - (this._fixedResults !== undefined && this._fixedResults.hasResults) + (this._fixedResults?.hasResults) || - (this._varResults !== undefined && this._varResults.hasResults) + (this._varResults?.hasResults) ); } diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts index 622fdd914..350e544fe 100644 --- a/src/app/components/log/log.component.ts +++ b/src/app/components/log/log.component.ts @@ -34,11 +34,11 @@ export class LogComponent { } public get hasEntries(): boolean { - return this._log !== undefined && this._log.messages.length !== 0; + return this._log?.messages?.length > 0; } public get messages(): Message[] { - return this._log.messages; + return this._log?.messages; } public set log(log: cLog) { diff --git a/src/app/components/pab-table/pab-table.component.ts b/src/app/components/pab-table/pab-table.component.ts index a73cac1dd..d46aae632 100644 --- a/src/app/components/pab-table/pab-table.component.ts +++ b/src/app/components/pab-table/pab-table.component.ts @@ -94,7 +94,7 @@ export class PabTableComponent implements AfterViewInit, OnInit { /** returns true if the cell has an underlying model (ie. is editable) */ public hasModel(cell: any): boolean { - return (cell !== undefined && cell.model !== undefined); + return (cell?.model !== undefined); } /** returns true if the cell is an editable number */ @@ -122,7 +122,7 @@ export class PabTableComponent implements AfterViewInit, OnInit { /** "title" tooltip to display in a cell */ public cellTitle(cell: any) { - if (cell !== undefined && cell.title !== undefined) { + if (cell?.title !== undefined) { return cell.title; } else { return ""; @@ -130,14 +130,14 @@ export class PabTableComponent implements AfterViewInit, OnInit { } public rowSpan(cell: any) { - if (cell !== undefined && cell.rowspan) { + if (cell?.rowspan) { return cell.rowspan; } return undefined; } public colSpan(cell: any) { - if (cell !== undefined && cell.colspan) { + if (cell?.colspan) { return cell.colspan; } return undefined; diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 735e7dea7..7a9ed20fe 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -326,11 +326,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni // automatic child addition when clearing children) if (this._selectedItem instanceof PbCloison) { // if no downstream connections remain, connect to river downstream - if (this._selectedItem.bassinAmont !== undefined && this._selectedItem.bassinAmont.cloisonsAval.length === 0) { + if (this._selectedItem.bassinAmont?.cloisonsAval.length === 0) { this.model.addChild(new PbCloison(this._selectedItem.bassinAmont, undefined)); } // if no upstream connections remain, connect to river upstream - if (this._selectedItem.bassinAval !== undefined && this._selectedItem.bassinAval.cloisonsAmont.length === 0) { + if (this._selectedItem.bassinAval?.cloisonsAmont.length === 0) { this.model.addChild(new PbCloison(undefined, this._selectedItem.bassinAval)); } } diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index 1e2f8d7b3..c526dd676 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -147,7 +147,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements } public get hasResults(): boolean { - return this._remousResults !== undefined && this._remousResults.hasResults; + return this._remousResults?.hasResults; } public get hasData(): boolean { @@ -320,7 +320,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements } // hauteur normale - if (this._remousResults.hautNormale !== undefined && this._remousResults.hautNormale.ok) { + if (this._remousResults.hautNormale?.ok) { const Yn = this._remousResults.hautNormale.vCalc; gr1.drawSimpleLine(Yn + ZF1, Yn + ZF2, 5, "#A4C537", this.uitextTirantNormal @@ -328,7 +328,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements } // hauteur critique - if (this._remousResults.hautCritique !== undefined && this._remousResults.hautCritique.ok) { + if (this._remousResults.hautCritique?.ok) { const Yc = this._remousResults.hautCritique.vCalc; gr1.drawSimpleLine(Yc + ZF1, Yc + ZF2, 6, "#FF0000", this.uitextTirantCritique diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index debf7d04a..855046710 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -354,7 +354,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs public isDisplayed(id: string) { const fe = <FormulaireElement>this.getFormulaireNodeById(id); - return fe !== undefined && fe.isDisplayed; + return fe?.isDisplayed; } /** diff --git a/src/app/formulaire/definition/form-section-parametree.ts b/src/app/formulaire/definition/form-section-parametree.ts index b1d6dcf4a..743880b5d 100644 --- a/src/app/formulaire/definition/form-section-parametree.ts +++ b/src/app/formulaire/definition/form-section-parametree.ts @@ -55,9 +55,9 @@ export class FormulaireSectionParametree extends FormulaireSection { } public get hasResults(): boolean { - return (this._fixedResults !== undefined && this._fixedResults.hasResults) - || (this._varResults !== undefined && this._varResults.hasResults) - || (this._sectionResults !== undefined && this._sectionResults.hasResults); + return (this._fixedResults?.hasResults) + || (this._varResults?.hasResults) + || (this._sectionResults?.hasResults); } public get results(): CalculatorResults[] { diff --git a/src/app/formulaire/elements/select-field.ts b/src/app/formulaire/elements/select-field.ts index f43004c79..f7ad648b9 100644 --- a/src/app/formulaire/elements/select-field.ts +++ b/src/app/formulaire/elements/select-field.ts @@ -158,7 +158,7 @@ export class SelectField extends Field { case "solveur_targetted_result": // 1. calculated param const ntc = (nub as Solveur).nubToCalculate; - if (ntc !== undefined && ntc.calculatedParam !== undefined) { // some nubs have no calculatedParam, for ex. SectionParam + if (ntc?.calculatedParam !== undefined) { // some nubs have no calculatedParam, for ex. SectionParam const varName = ServiceFactory.instance.formulaireService.expandVariableName(ntc.calcType, ntc.calculatedParam.symbol); this.addEntry(new SelectEntry( this._entriesBaseId + "none", @@ -167,7 +167,7 @@ export class SelectField extends Field { )); } // 2. extra results - if (ntc !== undefined && ntc.resultsFamilies !== undefined) { + if (ntc?.resultsFamilies !== undefined) { for (const er of Object.keys(ntc.resultsFamilies)) { const varName = ServiceFactory.instance.formulaireService.expandVariableName(ntc.calcType, er); const e: SelectEntry = new SelectEntry( -- GitLab From c74c6510eef603b81ad71e2024da11cc9d8abe26 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 17 Jul 2020 15:35:54 +0200 Subject: [PATCH 108/117] Fix language code detection for more than 2 letters codes --- src/app/services/internationalisation.service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts index bac781614..6a1a79e7e 100644 --- a/src/app/services/internationalisation.service.ts +++ b/src/app/services/internationalisation.service.ts @@ -55,11 +55,12 @@ export class I18nService extends Observable implements Observer { /** * Defines the current language code from its ISO 639-1 code (2 characters) or locale code * (ex: "fr", "en", "fr_FR", "en-US") - * @see this.languageCodeFromLocaleCode() * * @param code ISO 639-1 language code */ public async setLanguage(code: string) { + // ensure 2-letter language code + code = code.substring(0, 2); // is language supported ? if (! Object.keys(this._availableLanguages).includes(code)) { throw new Error(`LANGUAGE_UNSUPPORTED "${code}"`); -- GitLab From 8cf2c1110d3df0afe1b394c0d4667b5e0abdd091 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 17 Jul 2020 15:37:18 +0200 Subject: [PATCH 109/117] Update e2e calculate-all-params for PreBarrage --- e2e/calculate-all-params.e2e-spec.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/e2e/calculate-all-params.e2e-spec.ts b/e2e/calculate-all-params.e2e-spec.ts index e250d6aac..83f4f0a18 100644 --- a/e2e/calculate-all-params.e2e-spec.ts +++ b/e2e/calculate-all-params.e2e-spec.ts @@ -2,7 +2,7 @@ import { ListPage } from "./list.po"; import { CalculatorPage } from "./calculator.po"; import { Navbar } from "./navbar.po"; import { PreferencesPage } from "./preferences.po"; -import { browser } from "protractor"; +import { browser, element, by, ElementFinder } from "protractor"; import { testedCalcTypes } from "./tested_calctypes"; /** @@ -69,6 +69,15 @@ describe("ngHyd − calculate all parameters of all calculators", async () => { // check that result is not empty const hasResults = await calcPage.hasResults(); expect(hasResults).toBe(true); + // for PreBarrage only: go back to "input" view after results are displayed, + // or input parameters will stay hidden + if (ct === 30) { + const inputResultsSwitchLinks = element.all(by.css("#pb-data-results-selector a")); + const inputLink = inputResultsSwitchLinks.get(0); + await browser.executeScript("window.scrollTo(0, 0);"); + await inputLink.click(); + await browser.sleep(2000); + } } } else { // module has no calculable params, just click the "compute" button -- GitLab From e4330dffd448baef5a7d4675b8d5657962f002d1 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 17 Jul 2020 14:18:33 +0200 Subject: [PATCH 110/117] Use TypeScript's "Optional Chaining" syntax --- src/app/components/log/log.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts index 350e544fe..18da5657c 100644 --- a/src/app/components/log/log.component.ts +++ b/src/app/components/log/log.component.ts @@ -34,7 +34,7 @@ export class LogComponent { } public get hasEntries(): boolean { - return this._log?.messages?.length > 0; + return this._log?.messages?.length !== 0; } public get messages(): Message[] { -- GitLab From b8fd09bc4f62aab6206fc96e37fcd11c85189c6e Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Thu, 16 Jul 2020 16:10:47 +0200 Subject: [PATCH 111/117] Fix #418 - use proper Angular mechanisms in results components --- .../calculator-results.component.html | 14 +- .../calculator-results.component.ts | 96 ++-------- .../fixed-results.component.ts | 3 +- .../fixedvar-results.component.html | 4 +- .../fixedvar-results.component.ts | 105 +--------- .../fixedvar-results/var-results.component.ts | 3 +- .../jet-results/jet-results.component.html | 4 +- .../jet-results/jet-results.component.ts | 44 +---- .../jet-trajectory-chart.component.ts | 5 +- src/app/components/log/log.component.html | 2 +- src/app/components/log/log.component.ts | 13 +- ...rorugo-compound-results-table.component.ts | 37 ++-- .../macrorugo-compound-results.component.html | 12 +- .../macrorugo-compound-results.component.ts | 114 +---------- .../pab-profile-chart.component.ts | 3 +- .../pab-results-table.component.ts | 57 +++--- .../pab-results/pab-results.component.html | 14 +- .../pab-results/pab-results.component.ts | 123 +----------- .../pb-cloison-results.component.ts | 3 +- .../pb-results/pb-results-table.component.ts | 3 +- .../pb-results/pb-results.component.html | 10 +- .../pb-results/pb-results.component.ts | 181 +----------------- .../remous-results.component.html | 4 +- .../remous-results.component.ts | 84 +++----- .../results-chart/results-chart.component.ts | 8 +- .../section-results.component.ts | 33 +--- .../variable-results-selector.component.ts | 55 +++--- src/app/results/multidimension-results.ts | 2 +- src/app/results/var-results.ts | 6 +- 29 files changed, 227 insertions(+), 815 deletions(-) diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html index 8f454d811..bcff4069a 100644 --- a/src/app/components/calculator-results/calculator-results.component.html +++ b/src/app/components/calculator-results/calculator-results.component.html @@ -1,9 +1,9 @@ <div> - <section-results></section-results> - <remous-results></remous-results> - <pab-results></pab-results> - <pb-results></pb-results> - <macrorugo-compound-results></macrorugo-compound-results> - <jet-results></jet-results> - <fixedvar-results></fixedvar-results> + <section-results [results]=formResultsArray></section-results> + <remous-results [results]=formResultsArray></remous-results> + <pab-results [results]=formResultsArray></pab-results> + <pb-results [results]=formResultsArray></pb-results> + <macrorugo-compound-results [results]=formResultsArray></macrorugo-compound-results> + <jet-results *ngIf="isJet" [results]=formResultsArray></jet-results> + <fixedvar-results *ngIf="! isJet" [results]=formResultsArray></fixedvar-results> </div> diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts index 1965eae43..adece2665 100644 --- a/src/app/components/calculator-results/calculator-results.component.ts +++ b/src/app/components/calculator-results/calculator-results.component.ts @@ -1,14 +1,8 @@ -import { Component, ViewChild, Output, EventEmitter, AfterViewChecked, Inject, forwardRef } from "@angular/core"; +import { Component, Output, EventEmitter, AfterViewChecked, Inject, forwardRef } from "@angular/core"; -import { FixedVarResultsComponent } from "../../components/fixedvar-results/fixedvar-results.component"; -import { SectionResultsComponent } from "../../components/section-results/section-results.component"; -import { RemousResultsComponent } from "../../components/remous-results/remous-results.component"; -import { PabResultsComponent } from "../../components/pab-results/pab-results.component"; -import { MacrorugoCompoundResultsComponent } from "../macrorugo-compound-results/macrorugo-compound-results.component"; import { FormulaireDefinition } from "../../formulaire/definition/form-definition"; -import { JetResultsComponent } from "../jet-results/jet-results.component"; +import { CalculatorResults } from "../../results/calculator-results"; import { GenericCalculatorComponent } from "../generic-calculator/calculator.component"; -import { PbResultsComponent } from "../pb-results/pb-results.component"; @Component({ selector: "calc-results", @@ -18,51 +12,7 @@ export class CalculatorResultsComponent implements AfterViewChecked { private _formulaire: FormulaireDefinition; - /** - * composant d'affichage des résultats de paramètres fixés/variables - */ - @ViewChild(FixedVarResultsComponent, { static: true }) - private fixedVarResultsComponent: FixedVarResultsComponent; - - /** - * composant d'affichage des résultats des sections paramétrées - */ - @ViewChild(SectionResultsComponent, { static: true }) - private sectionResultsComponent: SectionResultsComponent; - - /** - * composant d'affichage des résultats des courbes de remous - */ - @ViewChild(RemousResultsComponent, { static: true }) - private remousResultsComponent: RemousResultsComponent; - - /** - * composant d'affichage des résultats des passes à bassins - */ - @ViewChild(PabResultsComponent, { static: true }) - private pabResultsComponent: PabResultsComponent; - - /** - * composant d'affichage des résultats des prébarrages - */ - @ViewChild(PbResultsComponent, { static: true }) - private pbResultsComponent: PbResultsComponent; - - /** - * composant d'affichage des résultats des passes à macrorugosités complexes - */ - @ViewChild(MacrorugoCompoundResultsComponent, { static: true }) - private mrcResultsComponent: MacrorugoCompoundResultsComponent; - - /** - * composant d'affichage des résultats des impacts de jet - */ - @ViewChild(JetResultsComponent, { static: true }) - private jetResultsComponent: JetResultsComponent; - - /** - * événement émis à la fin du dessin de la vue - */ + /** notify CalculatorComponent that it may scroll down to results panel */ @Output() private afterViewChecked = new EventEmitter(); @@ -72,46 +22,28 @@ export class CalculatorResultsComponent implements AfterViewChecked { public set formulaire(f: FormulaireDefinition) { this._formulaire = f; - if (this._formulaire === undefined) { - this.fixedVarResultsComponent.results = undefined; - this.sectionResultsComponent.results = undefined; - this.remousResultsComponent.results = undefined; - this.pabResultsComponent.results = undefined; - this.pbResultsComponent.results = undefined; - this.mrcResultsComponent.results = undefined; - this.jetResultsComponent.results = undefined; - } else { - this.sectionResultsComponent.results = f.results; - this.remousResultsComponent.results = f.results; - this.pabResultsComponent.results = f.results; - this.pbResultsComponent.results = f.results; - this.mrcResultsComponent.results = f.results; - // FixedVar and Jet are mutually incompatible (the 2nd extend the 1st) - if (this.isJet) { - this.jetResultsComponent.results = f.results; - this.fixedVarResultsComponent.results = undefined; - } else { - this.fixedVarResultsComponent.results = f.results; - this.jetResultsComponent.results = undefined; - } + } + + public get formResultsArray(): CalculatorResults[] { + let r: CalculatorResults[] = []; + if (this._formulaire !== undefined) { + r = this._formulaire.results; } + return r; } public updateView() { - this.fixedVarResultsComponent.updateView(); - this.sectionResultsComponent.updateView(); - this.remousResultsComponent.updateView(); - this.pabResultsComponent.updateView(); - this.pbResultsComponent.updateView(); - this.mrcResultsComponent.updateView(); - this.jetResultsComponent.updateView(); + console.log("UPDATE VIEW (disabled)"); } public ngAfterViewChecked() { this.afterViewChecked.emit(); } + // JetResultsComponent extends FixedVarResultsComponent, which makes + // them incompatible with each other public get isJet() { return this.calculatorComponent.isJet; } + } diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index d1cfd454e..ccd3040d2 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ElementRef } from "@angular/core"; +import { Component, ViewChild, ElementRef, Input } from "@angular/core"; import { FixedResults } from "../../results/fixed-results"; import { I18nService } from "../../services/internationalisation.service"; @@ -35,6 +35,7 @@ export class FixedResultsComponent extends ResultsComponentDirective { super(); } + @Input() public set results(r: FixedResults) { this._fixedResults = r; } diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.html b/src/app/components/fixedvar-results/fixedvar-results.component.html index 7676b0268..6c2d779be 100644 --- a/src/app/components/fixedvar-results/fixedvar-results.component.html +++ b/src/app/components/fixedvar-results/fixedvar-results.component.html @@ -1,8 +1,8 @@ <div class="container"> <!-- journal --> - <log></log> + <log [log]=mergedGlobalLogs></log> - <results-chart [hidden]="! showVarResultsChart"></results-chart> + <results-chart [hidden]="! showVarResultsChart" [results]=varResults></results-chart> <div> <!-- table des résultats fixés --> diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts index 04136deb5..b80300bad 100644 --- a/src/app/components/fixedvar-results/fixedvar-results.component.ts +++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts @@ -1,14 +1,9 @@ -import { Component, ViewChild, DoCheck } from "@angular/core"; +import { Component, Input } from "@angular/core"; -import { LogComponent } from "../../components/log/log.component"; import { FixedResults } from "../../results/fixed-results"; import { VarResults } from "../../results/var-results"; -import { ResultsChartComponent } from "../results-chart/results-chart.component"; import { CalculatorResults } from "../../results/calculator-results"; import { Result, cLog } from "jalhyd"; -import { NgParameter } from "../../formulaire/elements/ngparam"; -import { FixedResultsComponent } from "./fixed-results.component"; -import { VarResultsComponent } from "./var-results.component"; import { ResultsComponentDirective } from "./results.component"; @Component({ @@ -18,36 +13,14 @@ import { ResultsComponentDirective } from "./results.component"; "./fixedvar-results.component.scss" ] }) -export class FixedVarResultsComponent extends ResultsComponentDirective implements DoCheck { +export class FixedVarResultsComponent extends ResultsComponentDirective { /** * résultats non mis en forme */ protected _fixedResults: FixedResults; protected _varResults: VarResults; - /** - * true si les résultats doiventt être remis à jour - */ - protected _doUpdate = false; - - @ViewChild(FixedResultsComponent) - private fixedResultsComponent: FixedResultsComponent; - - @ViewChild(VarResultsComponent) - private varResultsComponent: VarResultsComponent; - - /** - * composant journal - */ - @ViewChild(LogComponent) - private logComponent: LogComponent; - - /** - * graphique dans le cas d'un paramètre à varier - */ - @ViewChild(ResultsChartComponent) - private resultsChartComponent: ResultsChartComponent; - + @Input() public set results(rs: CalculatorResults[]) { this._fixedResults = undefined; this._varResults = undefined; @@ -60,40 +33,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen } } } - this.updateView(); - } - - public updateView() { - if (this.logComponent) { - this.logComponent.log = undefined; - } - if (this.fixedResultsComponent) { - this.fixedResultsComponent.results = undefined; - } - if (this.varResultsComponent) { - this.varResultsComponent.results = undefined; - } - if (this.resultsChartComponent) { - this.resultsChartComponent.results = undefined; - } - - // set _doUpdate flag so that results are rebuilt on the next Angular display cycle - this._doUpdate = false; - if (this._fixedResults !== undefined) { - this._doUpdate = this._fixedResults.hasResults || this._fixedResults.hasLog; - } - if (this._varResults !== undefined) { - this._doUpdate = this._doUpdate || this._varResults.hasResults || this._varResults.hasLog; - } - } - - public ngDoCheck() { - if (this._doUpdate) { - // clodo trick @see nghyd#308 - setTimeout(() => { - this._doUpdate = !this.updateResults(); - }, 10); - } } private mergeLog(result: Result, log: cLog) { @@ -106,7 +45,7 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen } } - private get mergedGlobalLogs(): cLog { + public get mergedGlobalLogs(): cLog { const res = new cLog(); if (this._fixedResults) { this.mergeLog(this._fixedResults.result, res); @@ -117,42 +56,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen return res; } - /** - * met à jour l'affichage des résultats - * @returns true si les résultats ont pu être mis à jour - */ - protected updateResults() { - const fixedUpdated = this._fixedResults !== undefined && this.fixedResultsComponent !== undefined; - if (fixedUpdated) { - this.fixedResultsComponent.results = this._fixedResults; - } - - let graphUpdated: boolean; - let varUpdated: boolean; - if (this._varResults && this._varResults.hasResults) { - varUpdated = this.varResultsComponent !== undefined; - if (varUpdated) { - this.varResultsComponent.results = this._varResults; - } - - graphUpdated = this.resultsChartComponent !== undefined; - if (graphUpdated) { - this.resultsChartComponent.results = this._varResults; - this.resultsChartComponent.updateView(); - } - } else { - varUpdated = true; - graphUpdated = true; - } - - const logUpdated = this.logComponent !== undefined; - if (logUpdated) { - this.logComponent.log = this.mergedGlobalLogs; - } - - return fixedUpdated && varUpdated && logUpdated && graphUpdated; - } - /** * affichage de la table des résultats fixés */ diff --git a/src/app/components/fixedvar-results/var-results.component.ts b/src/app/components/fixedvar-results/var-results.component.ts index d1ba56c32..7493401d2 100644 --- a/src/app/components/fixedvar-results/var-results.component.ts +++ b/src/app/components/fixedvar-results/var-results.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ElementRef } from "@angular/core"; +import { Component, ViewChild, ElementRef, Input } from "@angular/core"; import { MatDialog } from "@angular/material/dialog"; @@ -45,6 +45,7 @@ export class VarResultsComponent extends ResultsComponentDirective { } /** Refreshes results and builds the dataset */ + @Input() public set results(r: VarResults) { this._varResults = r; this._results = []; diff --git a/src/app/components/jet-results/jet-results.component.html b/src/app/components/jet-results/jet-results.component.html index ee434e04f..1acaf47ff 100644 --- a/src/app/components/jet-results/jet-results.component.html +++ b/src/app/components/jet-results/jet-results.component.html @@ -2,9 +2,9 @@ <!-- journal --> <log></log> - <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart"></results-chart> + <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart" [results]=varResults></results-chart> - <jet-trajectory-chart [hidden]="! hasValidResults"></jet-trajectory-chart> + <jet-trajectory-chart [hidden]="! hasValidResults" [results]=trajectoryResults></jet-trajectory-chart> <div> <!-- table des résultats fixés --> diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts index 6cf08319c..0374ea4ac 100644 --- a/src/app/components/jet-results/jet-results.component.ts +++ b/src/app/components/jet-results/jet-results.component.ts @@ -1,7 +1,8 @@ -import { Component, ViewChild } from "@angular/core"; +import { Component } from "@angular/core"; import { FixedVarResultsComponent } from "../fixedvar-results/fixedvar-results.component"; -import { JetTrajectoryChartComponent } from "../jet-trajectory-chart/jet-trajectory-chart.component"; +import { FixedResults } from "../../results/fixed-results"; +import { VarResults } from "../../results/var-results"; @Component({ selector: "jet-results", @@ -12,10 +13,6 @@ import { JetTrajectoryChartComponent } from "../jet-trajectory-chart/jet-traject }) export class JetResultsComponent extends FixedVarResultsComponent { - /** graphique de trajectoire */ - @ViewChild(JetTrajectoryChartComponent) - private jetTrajectoryChartComponent: JetTrajectoryChartComponent; - public get hasResults(): boolean { return ( (this._fixedResults?.hasResults) @@ -32,34 +29,13 @@ export class JetResultsComponent extends FixedVarResultsComponent { ); } - public updateView() { - if (this.jetTrajectoryChartComponent) { - this.jetTrajectoryChartComponent.results = undefined; + public get trajectoryResults(): FixedResults | VarResults { + // draw chart whether params are variating or not, + // hence different Results object for each case + if (this._varResults && this._varResults.hasResults) { + return this._varResults; + } else { + return this._fixedResults; } - super.updateView(); - } - - /** - * met à jour l'affichage des résultats - * @returns true si les résultats ont pu être mis à jour - */ - protected updateResults() { - const superUpdated = super.updateResults(); - - let trajectoryChartUpdated: boolean; - trajectoryChartUpdated = this.jetTrajectoryChartComponent !== undefined; - - if (trajectoryChartUpdated) { - // draw chart whether params are variating or not, - // hence different Results object for each case - if (this._varResults && this._varResults.hasResults) { - this.jetTrajectoryChartComponent.results = this._varResults; - } else { - this.jetTrajectoryChartComponent.results = this._fixedResults; - } - this.jetTrajectoryChartComponent.updateView(); - } - - return superUpdated && trajectoryChartUpdated; } } diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts index 960cda6bd..f4ee238a0 100644 --- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts +++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ChangeDetectorRef } from "@angular/core"; +import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core"; import { ChartComponent } from "angular2-chartjs"; @@ -132,7 +132,9 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { }, 10); } + @Input() public set results(r: FixedResults | VarResults) { + console.log("miam miam les bons résultats !", r); this.forceRebuild(); // used for forcing redefinition of xAxes[0].ticks.min/max in generateScatterChart() this._results = r; @@ -171,6 +173,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { } public updateView() { + console.log("----> regenerate trajectory chart !!"); this.generateScatterChart(); } diff --git a/src/app/components/log/log.component.html b/src/app/components/log/log.component.html index 4d3d0424a..5920817ec 100644 --- a/src/app/components/log/log.component.html +++ b/src/app/components/log/log.component.html @@ -3,6 +3,6 @@ <!-- titre --> <div class="titre">{{ uitextTitreJournal }}</div> <!-- entrées du journal --> - <log-entry *ngFor="let m of messages" [_message]="m"></log-entry> + <log-entry *ngFor="let m of _log?.messages" [_message]="m"></log-entry> </div> </div> diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts index 18da5657c..5235954b2 100644 --- a/src/app/components/log/log.component.ts +++ b/src/app/components/log/log.component.ts @@ -34,13 +34,18 @@ export class LogComponent { } public get hasEntries(): boolean { - return this._log?.messages?.length !== 0; + return this._log?.messages?.length > 0; } - public get messages(): Message[] { - return this._log?.messages; - } + /* public get messages(): Message[] { + let m: Message[] = []; + if (this._log !== undefined) { + m = this._log.messages; + } + return m; + } */ + @Input() public set log(log: cLog) { this._log = log; } diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts index abe858dcc..bf70492bf 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ElementRef } from "@angular/core"; +import { Component, ViewChild, ElementRef, Input, OnChanges } from "@angular/core"; import { MacroRugo } from "jalhyd"; @@ -15,10 +15,15 @@ import { AppComponent } from "../../app.component"; "./macrorugo-compound-results-table.component.scss" ] }) -export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDirective { +export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDirective implements OnChanges { /** résultats non mis en forme */ - private _mrcResults: MacrorugoCompoundResults; + @Input() + public results: MacrorugoCompoundResults; + + /** index de l'élément de résultat à afficher (modifié par le sélecteur de conditions limites) */ + @Input() + public variableIndex = 0; /** entêtes des colonnes */ private _headers: string[]; @@ -36,21 +41,19 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire super(); } - public set results(r: MacrorugoCompoundResults) { - this._mrcResults = r; - + public ngOnChanges() { + // rebuild dataset every time results or variableIndex change this._dataSet = []; if ( - this._mrcResults - && this._mrcResults.childrenResults - && this._mrcResults.childrenResults.length > 0 - && ! this._mrcResults.hasOnlyErrors() + this.results + && this.results.childrenResults + && this.results.childrenResults.length > 0 + && ! this.results.hasOnlyErrors() ) { - const pr = this._mrcResults; + const pr = this.results; const nDigits = this.appSetupService.displayPrecision; // when a parameter is variating, index of the variating parameter // values to build the data from - const vi = pr.variableIndex; // refresh headers here if language changed this._headers = pr.headers; @@ -58,13 +61,13 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire // lines 1 - n-1 (aprons) for (let i = 0; i < pr.childrenResults.length; i++) { // protect loop contents with if(vCalc) ? Will hide erroneous apron results.. - const res = pr.childrenResults[i].resultElements[vi].values; + const res = pr.childrenResults[i].resultElements[this.variableIndex].values; const nub = (pr.childrenResults[i].sourceNub as MacroRugo); // does ZF1 or B vary ? let zf1: number; try { if (nub.prms.ZF1.hasMultipleValues) { - zf1 = nub.prms.ZF1.getInferredValuesList()[vi]; + zf1 = nub.prms.ZF1.getInferredValuesList()[this.variableIndex]; } else { zf1 = nub.prms.ZF1.singleValue; } @@ -74,7 +77,7 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire let b: number; try { if (nub.prms.B.hasMultipleValues) { - b = nub.prms.B.getInferredValuesList()[vi]; + b = nub.prms.B.getInferredValuesList()[this.variableIndex]; } else { b = nub.prms.B.singleValue; } @@ -84,7 +87,7 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire let Y: number; try { if (nub.prms.Y.hasMultipleValues) { - Y = nub.prms.Y.getInferredValuesList()[vi]; + Y = nub.prms.Y.getInferredValuesList()[this.variableIndex]; } else { Y = nub.prms.Y.singleValue; } @@ -111,7 +114,7 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire this._dataSet.push([ this.intlService.localizeText("INFO_LIB_TOTAL"), "", "", "", - pr.result.resultElements[vi].vCalc.toFixed(nDigits), + pr.result.resultElements[this.variableIndex].vCalc.toFixed(nDigits), "", "", "", "", "", "" ]); } diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html index bfbf59270..09e4fba15 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html @@ -1,15 +1,17 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log> + <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> - <variable-results-selector [results]="mrcResults" (indexChange)="variableIndexChanged()"> + <variable-results-selector [results]=mrcResults [variatedParameters]=mrcResults?.variatedParameters> </variable-results-selector> - <log #iterationLog></log> + <log #iterationLog [log]=iterationLog></log> <div> <!-- tableau de résultats --> - <macrorugo-compound-results-table *ngIf="hasDisplayableResults" [results]="mrcResults"></macrorugo-compound-results-table> + <macrorugo-compound-results-table *ngIf="hasDisplayableResults" + [results]=mrcResults [variableIndex]=mrcResults?.variableIndex> + </macrorugo-compound-results-table> </div> <div id="mrcLateralInclination" *ngIf="isInclined"> @@ -22,7 +24,7 @@ <div id="macrorugo-compound-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> <!-- <pab-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </pab-profile-chart> --> - <results-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </results-chart> </div> diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts index d2d932838..cbe53d860 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts @@ -1,18 +1,14 @@ -import { Component, ViewChild, DoCheck } from "@angular/core"; +import { Component, Input, OnChanges } from "@angular/core"; import { Result, cLog, Message, MessageCode, MessageSeverity, MRCInclination } from "jalhyd"; import { fv } from "../../../app/util"; -import { LogComponent } from "../../components/log/log.component"; import { CalculatorResults } from "../../results/calculator-results"; import { NgParameter } from "../../formulaire/elements/ngparam"; import { ApplicationSetupService } from "../../services/app-setup.service"; import { PlottableData } from "../../results/plottable-data"; -import { ResultsChartComponent } from "../results-chart/results-chart.component"; import { I18nService } from "../../services/internationalisation.service"; -import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; -import { MacrorugoCompoundResultsTableComponent } from "./macrorugo-compound-results-table.component"; import { MacrorugoCompoundResults } from "../../results/macrorugo-compound-results"; import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macrorugo-compound-results"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @@ -24,7 +20,7 @@ import { ResultsComponentDirective } from "../fixedvar-results/results.component "./macrorugo-compound-results.component.scss" ] }) -export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements DoCheck { +export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements OnChanges { /** résultats non mis en forme */ private _mrcResults: MacrorugoCompoundResults; @@ -32,24 +28,6 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective /** résultats mis en forme pour le graphique de données (classique) */ private _plottableResults: PlottableMacrorugoCompoundResults; - /** true si les résultats doiventt être remis à jour */ - private _doUpdate = false; - - @ViewChild(MacrorugoCompoundResultsTableComponent) - private mrcResultsTableComponent: MacrorugoCompoundResultsTableComponent; - - @ViewChild(VariableResultsSelectorComponent) - private variableResultsSelectorComponent: VariableResultsSelectorComponent; - - @ViewChild("generalLog") - private generalLogComponent: LogComponent; - - @ViewChild("iterationLog") - private iterationLogComponent: LogComponent; - - @ViewChild(ResultsChartComponent) - private resultsChartComponent: ResultsChartComponent; - constructor( private appSetupService: ApplicationSetupService, private i18nService: I18nService, @@ -58,50 +36,16 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective this._plottableResults = new PlottableMacrorugoCompoundResults(); } + public ngOnChanges() { + console.log("--------> MRCR_C changes…"); + } + + @Input() public set results(rs: CalculatorResults[]) { this._mrcResults = undefined; if (rs.length > 0 && rs[0] instanceof MacrorugoCompoundResults) { this._mrcResults = rs[0] as MacrorugoCompoundResults; } - this.updateView(); - } - - /** - * update results table and chart when the variable index changed (event sent by - * VariableResultsSelectorComponent); variable index is already set in - * mrcResults at this time - */ - public variableIndexChanged() { - this.updateView(); - } - - public updateView() { - if (this.iterationLogComponent) { - this.iterationLogComponent.log = undefined; - } - if (this.generalLogComponent) { - this.generalLogComponent.log = undefined; - } - if (this.mrcResultsTableComponent) { - this.mrcResultsTableComponent.results = undefined; - } - if (this.variableResultsSelectorComponent) { - this.variableResultsSelectorComponent.results = undefined; - } - if (this.resultsChartComponent) { - this.resultsChartComponent.results = undefined; - } - // set _doUpdate flag so that results are rebuilt on the next Angular display cycle - this._doUpdate = false; - if (this._mrcResults !== undefined) { - this._doUpdate = this._doUpdate || this._mrcResults.hasResults || this._mrcResults.hasLog; - } - } - - public ngDoCheck() { - if (this._doUpdate) { - this._doUpdate = !this.updateResults(); - } } private mergeGlobalLog(result: Result, log: cLog) { @@ -177,7 +121,7 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective * du sélecteur d'itération : messages globaux et / ou résumé des messages * spécifiques à chaque ResultElement */ - private get globalLog(): cLog { + public get globalLog(): cLog { const l = new cLog(); if (this._mrcResults && this.mrcResults.variatedParameters.length > 0) { this.mergeGlobalLog(this._mrcResults.result, l); @@ -203,7 +147,7 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective * du sélecteur d'itération : messages globaux et / ou résumé des messages * spécifiques à chaque ResultElement */ - private get iterationLog(): cLog { + public get iterationLog(): cLog { const l = new cLog(); if (this._mrcResults) { if (this.mrcResults.variatedParameters.length > 0) { @@ -238,46 +182,6 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective return l; } - /** - * met à jour l'affichage des résultats - * @returns true si les résultats ont pu être mis à jour - */ - private updateResults() { - let mrcUpdated: boolean; - let resultsChartUpdated: boolean; - let selectorUpdated: boolean; - - // results or not, there might be a log - const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ? - if (logUpdated) { - // order of logs is important ! - this.iterationLogComponent.log = this.iterationLog; - this.generalLogComponent.log = this.globalLog; - } - - if (this.hasResults) { - mrcUpdated = this.mrcResultsTableComponent !== undefined; - if (mrcUpdated) { - this.mrcResultsTableComponent.results = this._mrcResults; - } - selectorUpdated = this.variableResultsSelectorComponent !== undefined; - if (selectorUpdated) { - this.variableResultsSelectorComponent.results = this._mrcResults; - } - resultsChartUpdated = this.resultsChartComponent !== undefined; - if (resultsChartUpdated) { - this.resultsChartComponent.results = this.plottableResults; - this.resultsChartComponent.updateView(); - } - } else { - mrcUpdated = true; - resultsChartUpdated = true; - selectorUpdated = true; - } - - return mrcUpdated && logUpdated && resultsChartUpdated && selectorUpdated; - } - public get mrcResults() { return this._mrcResults; } diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts index ce34f4dae..6f24b8ab1 100644 --- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts +++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ChangeDetectorRef } from "@angular/core"; +import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core"; import { ChartComponent } from "angular2-chartjs"; @@ -125,6 +125,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective { }; } + @Input() public set results(r: PabResults) { this._results = r; diff --git a/src/app/components/pab-results/pab-results-table.component.ts b/src/app/components/pab-results/pab-results-table.component.ts index 8fb591b99..cbfe9b63c 100644 --- a/src/app/components/pab-results/pab-results-table.component.ts +++ b/src/app/components/pab-results/pab-results-table.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ElementRef } from "@angular/core"; +import { Component, ViewChild, ElementRef, Input, OnChanges } from "@angular/core"; import { CloisonAval, Result } from "jalhyd"; @@ -15,10 +15,15 @@ import { fv } from "../../util"; "./pab-results-table.component.scss" ] }) -export class PabResultsTableComponent extends ResultsComponentDirective { +export class PabResultsTableComponent extends ResultsComponentDirective implements OnChanges { /** résultats non mis en forme */ - private _pabResults: PabResults; + @Input() + public results: PabResults; + + /** index de l'élément de résultat à afficher (modifié par le sélecteur de conditions limites) */ + @Input() + public variableIndex = 0; /** entêtes des colonnes */ private _headers: string[]; @@ -35,33 +40,15 @@ export class PabResultsTableComponent extends ResultsComponentDirective { super(); } - private getJetTypes(re: Result, vi: number): string { - // jet type for each device - const devices = re.sourceNub.getChildren(); - const jetTypes: string[] = devices.map((device) => { - const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType"); - let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt); - if (devices.length > 1) { - // evil HTML injection in table cell (simpler) - jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°" - + (device.findPositionInParent() + 1) + ": " + jetType; - } - return jetType; - }); - return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`; - } - - public set results(r: PabResults) { - this._pabResults = r; - + public ngOnChanges() { this._dataSet = []; if ( - this._pabResults - && this._pabResults.cloisonsResults - && this._pabResults.cloisonsResults.length > 0 - && ! this._pabResults.hasOnlyErrors() + this.results + && this.results.cloisonsResults + && this.results.cloisonsResults.length > 0 + && ! this.results.hasOnlyErrors() ) { - const pr = this._pabResults; + const pr = this.results; // when a parameter is variating, index of the variating parameter // values to build the data from const vi = pr.variableIndex; @@ -134,6 +121,22 @@ export class PabResultsTableComponent extends ResultsComponentDirective { } } + private getJetTypes(re: Result, vi: number): string { + // jet type for each device + const devices = re.sourceNub.getChildren(); + const jetTypes: string[] = devices.map((device) => { + const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType"); + let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt); + if (devices.length > 1) { + // evil HTML injection in table cell (simpler) + jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°" + + (device.findPositionInParent() + 1) + ": " + jetType; + } + return jetType; + }); + return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`; + } + public get headers() { return this._headers; } diff --git a/src/app/components/pab-results/pab-results.component.html b/src/app/components/pab-results/pab-results.component.html index 78f7d9845..92237bf25 100644 --- a/src/app/components/pab-results/pab-results.component.html +++ b/src/app/components/pab-results/pab-results.component.html @@ -1,24 +1,26 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log> + <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> - <variable-results-selector [results]="pabResults" (indexChange)="variableIndexChanged()"> + <variable-results-selector [results]="pabResults" [variatedParameters]=pabResults?.variatedParameters> </variable-results-selector> - <log #iterationLog></log> + <log #iterationLog [log]=iterationLog></log> <div> <!-- tableau de résultats --> - <pab-results-table *ngIf="hasDisplayableResults" [results]="pabResults"></pab-results-table> + <pab-results-table *ngIf="hasDisplayableResults" + [results]=pabResults [variableIndex]=pabResults?.variableIndex> + </pab-results-table> </div> <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]" [currentItem]="'charts'" [align]="'left'"></quicknav> <div id="pab-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> - <pab-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <pab-profile-chart *ngIf="hasDisplayableResults" [results]=pabResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </pab-profile-chart> - <results-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </results-chart> </div> diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts index 26d0784e6..011ba0bd1 100644 --- a/src/app/components/pab-results/pab-results.component.ts +++ b/src/app/components/pab-results/pab-results.component.ts @@ -1,17 +1,12 @@ -import { Component, ViewChild, DoCheck } from "@angular/core"; +import { Component, Input } from "@angular/core"; import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd"; -import { LogComponent } from "../../components/log/log.component"; import { CalculatorResults } from "../../results/calculator-results"; -import { PabResultsTableComponent } from "./pab-results-table.component"; import { PabResults } from "../../results/pab-results"; -import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; import { PlottableData } from "../../results/plottable-data"; import { PlottablePabResults } from "../../results/plottable-pab-results"; -import { ResultsChartComponent } from "../results-chart/results-chart.component"; import { I18nService } from "../../services/internationalisation.service"; -import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @Component({ @@ -21,7 +16,7 @@ import { ResultsComponentDirective } from "../fixedvar-results/results.component "./pab-results.component.scss" ] }) -export class PabResultsComponent extends ResultsComponentDirective implements DoCheck { +export class PabResultsComponent extends ResultsComponentDirective { /** résultats non mis en forme */ private _pabResults: PabResults; @@ -29,27 +24,6 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do /** résultats mis en forme pour le graphique de données (classique) */ private _plottableResults: PlottablePabResults; - /** true si les résultats doiventt être remis à jour */ - private _doUpdate = false; - - @ViewChild(PabResultsTableComponent) - private pabResultsTableComponent: PabResultsTableComponent; - - @ViewChild(VariableResultsSelectorComponent) - private variableResultsSelectorComponent: VariableResultsSelectorComponent; - - @ViewChild("generalLog") - private generalLogComponent: LogComponent; - - @ViewChild("iterationLog") - private iterationLogComponent: LogComponent; - - @ViewChild(ResultsChartComponent) - private resultsChartComponent: ResultsChartComponent; - - @ViewChild(PabProfileChartComponent) - private profileChartComponent: PabProfileChartComponent; - constructor( private i18nService: I18nService, ) { @@ -57,53 +31,13 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do this._plottableResults = new PlottablePabResults(); } + @Input() public set results(rs: CalculatorResults[]) { this._pabResults = undefined; if (rs.length > 0 && rs[0] instanceof PabResults) { this._pabResults = rs[0] as PabResults; } - this.updateView(); - } - - /** - * update results table and chart when the variable index changed (event sent by - * PabVariableResultsSelectorComponent); variable index is already set in - * pabResults at this time - */ - public variableIndexChanged() { - this.updateView(); - } - - public updateView() { - if (this.iterationLogComponent) { - this.iterationLogComponent.log = undefined; - } - if (this.generalLogComponent) { - this.generalLogComponent.log = undefined; - } - if (this.pabResultsTableComponent) { - this.pabResultsTableComponent.results = undefined; - } - if (this.variableResultsSelectorComponent) { - this.variableResultsSelectorComponent.results = undefined; - } - if (this.resultsChartComponent) { - this.resultsChartComponent.results = undefined; - } - if (this.profileChartComponent) { - this.profileChartComponent.results = undefined; - } - // set _doUpdate flag so that results are rebuilt on the next Angular display cycle - this._doUpdate = false; - if (this._pabResults !== undefined) { - this._doUpdate = this._doUpdate || this._pabResults.hasResults || this._pabResults.hasLog; - } - } - - public ngDoCheck() { - if (this._doUpdate) { - this._doUpdate = !this.updateResults(); - } + // this.updateView(); } private mergeGlobalLog(result: Result, log: cLog) { @@ -199,7 +133,7 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do * du sélecteur d'itération : messages globaux et / ou résumé des messages * spécifiques à chaque ResultElement */ - private get globalLog(): cLog { + public get globalLog(): cLog { const l = new cLog(); if (this._pabResults && this.pabResults.variatedParameters.length > 0) { this.mergeGlobalLog(this._pabResults.result, l); @@ -266,53 +200,6 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do return l; } - /** - * met à jour l'affichage des résultats - * @returns true si les résultats ont pu être mis à jour - */ - private updateResults() { - let pabUpdated: boolean; - let resultsChartUpdated: boolean; - let profileChartUpdated: boolean; - let selectorUpdated: boolean; - - // results or not, there might be a log - const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ? - if (logUpdated) { - // order of logs is important ! - this.iterationLogComponent.log = this.iterationLog; - this.generalLogComponent.log = this.globalLog; - } - - if (this.hasResults) { - pabUpdated = this.pabResultsTableComponent !== undefined; - if (pabUpdated) { - this.pabResultsTableComponent.results = this._pabResults; - } - selectorUpdated = this.variableResultsSelectorComponent !== undefined; - if (selectorUpdated) { - this.variableResultsSelectorComponent.results = this._pabResults; - } - resultsChartUpdated = this.resultsChartComponent !== undefined; - if (resultsChartUpdated) { - this.resultsChartComponent.results = this.plottableResults; - this.resultsChartComponent.updateView(); - } - profileChartUpdated = this.profileChartComponent !== undefined; - if (profileChartUpdated) { - this.profileChartComponent.results = this._pabResults; - this.profileChartComponent.updateView(); - } - } else { - pabUpdated = true; - resultsChartUpdated = true; - profileChartUpdated = true; - selectorUpdated = true; - } - - return pabUpdated && logUpdated && resultsChartUpdated && profileChartUpdated && selectorUpdated; - } - public get pabResults() { return this._pabResults; } diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts index 0d2fe30cc..0a59b6a8b 100644 --- a/src/app/components/pb-results/pb-cloison-results.component.ts +++ b/src/app/components/pb-results/pb-cloison-results.component.ts @@ -1,4 +1,4 @@ -import { Component } from "@angular/core"; +import { Component, Input } from "@angular/core"; import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component"; import { NgParameter } from "../../formulaire/elements/ngparam"; @@ -16,6 +16,7 @@ import { Result, ResultElement } from "jalhyd"; }) export class PbCloisonResultsComponent extends FixedResultsComponent { + @Input() public set results(r: PbCloisonResults) { this._fixedResults = r; } diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts index 925eab960..c5d8dff4d 100644 --- a/src/app/components/pb-results/pb-results-table.component.ts +++ b/src/app/components/pb-results/pb-results-table.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ElementRef } from "@angular/core"; +import { Component, ViewChild, ElementRef, Input } from "@angular/core"; import { PreBarrage, PbBassin } from "jalhyd"; @@ -35,6 +35,7 @@ export class PbResultsTableComponent extends ResultsComponentDirective { super(); } + @Input() public set results(r: PrebarrageResults) { this._pbResults = r; diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html index 80a7d4501..cce785e43 100644 --- a/src/app/components/pb-results/pb-results.component.html +++ b/src/app/components/pb-results/pb-results.component.html @@ -1,16 +1,16 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log> + <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> - <variable-results-selector [results]="pbResults" (indexChange)="variableIndexChanged()"> + <variable-results-selector [results]=pbResults> </variable-results-selector> - <log #iterationLog></log> + <log #iterationLog [log]=iterationLog></log> <!-- tableau de résultats des bassins --> - <pb-results-table *ngIf="hasBasinResults" [results]="pbResults"></pb-results-table> + <pb-results-table *ngIf="hasBasinResults" [results]=pbResults></pb-results-table> <!-- table des résultats fixés --> - <pb-cloison-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></pb-cloison-results> + <pb-cloison-results *ngIf="hasWallResults" [results]=pbResults.cloisonResults></pb-cloison-results> <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]" [currentItem]="'charts'" [align]="'left'"></quicknav> --> diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts index 0362c6b8b..666257c7d 100644 --- a/src/app/components/pb-results/pb-results.component.ts +++ b/src/app/components/pb-results/pb-results.component.ts @@ -1,15 +1,10 @@ -import { Component, ViewChild, DoCheck } from "@angular/core"; +import { Component, Input } from "@angular/core"; -import { LogComponent } from "../log/log.component"; import { CalculatorResults } from "../../results/calculator-results"; -import { PbResultsTableComponent } from "./pb-results-table.component"; import { PrebarrageResults } from "../../results/prebarrage-results"; -import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component"; import { I18nService } from "../../services/internationalisation.service"; -import { PbCloisonResultsComponent } from "./pb-cloison-results.component"; -import { FixedResults } from "../../results/fixed-results"; -import { Result } from "jalhyd"; +import { cLog } from "jalhyd"; @Component({ selector: "pb-results", @@ -18,36 +13,16 @@ import { Result } from "jalhyd"; "./pb-results.component.scss" ] }) -export class PbResultsComponent implements DoCheck { +export class PbResultsComponent { /** résultats des bassins, non mis en forme */ private _pbResults: PrebarrageResults; - /** true si les résultats doiventt être remis à jour */ - private _doUpdate = false; - - @ViewChild(PbResultsTableComponent) - private pbResultsTableComponent: PbResultsTableComponent; - - @ViewChild(VariableResultsSelectorComponent) - private variableResultsSelectorComponent: VariableResultsSelectorComponent; - - @ViewChild(PbCloisonResultsComponent) - private pbCloisonResultsComponent: PbCloisonResultsComponent; - - @ViewChild("generalLog") - private generalLogComponent: LogComponent; - - @ViewChild("iterationLog") - private iterationLogComponent: LogComponent; - - /* @ViewChild(PabProfileChartComponent) - private profileChartComponent: PabProfileChartComponent; */ - constructor( private i18nService: I18nService, ) { } + @Input() public set results(rs: CalculatorResults[]) { this._pbResults = undefined; for (const r of rs) { @@ -55,7 +30,7 @@ export class PbResultsComponent implements DoCheck { this._pbResults = r as PrebarrageResults; } } - this.updateView(); + // this.updateView(); } public get pbResults() { @@ -77,47 +52,6 @@ export class PbResultsComponent implements DoCheck { return this._pbResults && this._pbResults.hasWallResults; } - /** - * update results table and chart when the variable index changed (event sent by - * VariableResultsSelectorComponent); variable index is already set in - * pbResults at this time - */ - public variableIndexChanged() { - this.updateView(); - } - - public updateView() { - if (this.iterationLogComponent) { - this.iterationLogComponent.log = undefined; - } - if (this.generalLogComponent) { - this.generalLogComponent.log = undefined; - } - if (this.pbResultsTableComponent) { - this.pbResultsTableComponent.results = undefined; - } - if (this.variableResultsSelectorComponent) { - this.variableResultsSelectorComponent.results = undefined; - } - if (this.pbCloisonResultsComponent) { - this.pbCloisonResultsComponent.results = undefined; - } - /* if (this.profileChartComponent) { - this.profileChartComponent.results = undefined; - } */ - // set _doUpdate flag so that results are rebuilt on the next Angular display cycle - this._doUpdate = false; - if (this._pbResults !== undefined) { - this._doUpdate = this._doUpdate || this._pbResults.hasResults || this._pbResults.hasLog; - } - } - - public ngDoCheck() { - if (this._doUpdate) { - this._doUpdate = !this.updateResults(); - } - } - /* private mergeGlobalLog(result: Result, log: cLog) { if (result) { if (result.hasGlobalLog()) { @@ -211,9 +145,9 @@ export class PbResultsComponent implements DoCheck { * du sélecteur d'itération : messages globaux et / ou résumé des messages * spécifiques à chaque ResultElement */ - /* private get globalLog(): cLog { + public get globalLog(): cLog { const l = new cLog(); - if (this._pbResults && this.pbResults.variatedParameters.length > 0) { + /* if (this._pbResults && this.pbResults.variatedParameters.length > 0) { this.mergeGlobalLog(this._pbResults.result, l); // un problème avec la PAB en général / les cloisons, à une étape quelconque ? if ( @@ -228,107 +162,8 @@ export class PbResultsComponent implements DoCheck { l.add(m); // l.add(new Message(MessageCode.WARNING_PROBLEMS_ENCOUNTERED)); } - } // sinon pas de log global (aucun paramètre ne varie) - return l; - } */ - - /** - * Retourne les logs à afficher dans le composant de log global, au dessus - * du sélecteur d'itération : messages globaux et / ou résumé des messages - * spécifiques à chaque ResultElement - */ - /* private get iterationLog(): cLog { - const l = new cLog(); - if (this._pbResults) { - if (this.pbResults.variatedParameters.length > 0) { - // A. si un paramètre varie - const vi = this._pbResults.variableIndex; - // log de la PAB pour l'itération en cours - if ( - this._pbResults.result - && this._pbResults.result.hasResultElements() - && this._pbResults.result.resultElements[vi] - && this._pbResults.result.resultElements[vi].hasLog() - ) { - l.addLog(this._pbResults.result.resultElements[vi].log); - } - // logs des enfants pour l'itération en cours - for (const cr of this._pbResults.cloisonsResults) { - if (cr && cr.hasResultElements() && cr.resultElements[vi].hasLog()) { - l.addLog(cr.resultElements[vi].log); - } - } - if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElements[vi].hasLog()) { - l.addLog(this._pbResults.cloisonAvalResults.resultElements[vi].log); - } - } else { - // B. si aucun paramètre ne varie - this.mergeGlobalLog(this._pbResults.result, l); // faut bien mettre le log global quelque part - // logs des enfants - for (const cr of this._pbResults.cloisonsResults) { - if (cr && cr.hasResultElements() && cr.resultElement.hasLog()) { - l.addLog(cr.resultElement.log); - } - } - if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElement.hasLog()) { - l.addLog(this._pbResults.cloisonAvalResults.resultElement.log); - } - } - } + } // sinon pas de log global (aucun paramètre ne varie) */ return l; - } */ - - /** - * met à jour l'affichage des résultats - * @returns true si les résultats ont pu être mis à jour - */ - private updateResults() { - let pbTableUpdated: boolean; - let profileChartUpdated: boolean; - let selectorUpdated: boolean; - let cloisonResultsUpdated: boolean; - - // results or not, there might be a log - const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ? - if (logUpdated) { - // order of logs is important ! - /* this.iterationLogComponent.log = this.iterationLog; - this.generalLogComponent.log = this.globalLog; */ - } - - // show selector as long as any result is present - if (this.hasResults) { - selectorUpdated = this.variableResultsSelectorComponent !== undefined; - if (selectorUpdated) { - this.variableResultsSelectorComponent.results = this._pbResults; - } - } else { - selectorUpdated = true; - } - if (this.hasBasinResults) { - pbTableUpdated = this.pbResultsTableComponent !== undefined; - if (pbTableUpdated) { - this.pbResultsTableComponent.results = this._pbResults; - } - /* profileChartUpdated = this.profileChartComponent !== undefined; - if (profileChartUpdated) { - this.profileChartComponent.results = this._pbResults; - this.profileChartComponent.updateView(); - } */ - } else { - pbTableUpdated = true; - profileChartUpdated = true; - } - if (this.hasWallResults) { - cloisonResultsUpdated = this.pbCloisonResultsComponent !== undefined; - if (cloisonResultsUpdated) { - this.pbCloisonResultsComponent.results = this._pbResults.cloisonResults; - } - } else { - cloisonResultsUpdated = true; - } - - return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && cloisonResultsUpdated; } public get uitextGeneralLogTitle(): string { diff --git a/src/app/components/remous-results/remous-results.component.html b/src/app/components/remous-results/remous-results.component.html index 8a51ef96d..6b5fda516 100644 --- a/src/app/components/remous-results/remous-results.component.html +++ b/src/app/components/remous-results/remous-results.component.html @@ -38,9 +38,9 @@ <!-- journal --> -<log></log> +<log [log]=log></log> <div [hidden]="! hasData"><!-- *ngIf breaks @ViewChild availability--> <!-- résultats numériques --> - <var-results></var-results> + <var-results [results]=varResults></var-results> </div> diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index c526dd676..04d19db49 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -1,17 +1,16 @@ -import { Component, ViewChild, DoCheck } from "@angular/core"; +import { Component, Input } from "@angular/core"; -import { INumberIterator, CourbeRemousParams, CourbeRemous, ParamDefinition, ParamDomain, ParamDomainValue } from "jalhyd"; +import { INumberIterator, CourbeRemousParams, CourbeRemous, ParamDefinition, ParamDomainValue, cLog } from "jalhyd"; import { I18nService } from "../../services/internationalisation.service"; -import { LogComponent } from "../../components/log/log.component"; import { RemousResults } from "../../results/remous-results"; import { CalculatorResults } from "../../results/calculator-results"; -import { VarResultsComponent } from "../fixedvar-results/var-results.component"; import { FormulaireService } from "../../services/formulaire.service"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; import { AppComponent } from "../../app.component"; import { LineData, ChartData } from "./line-and-chart-data"; import { fv } from "../../util"; +import { VarResults } from "../../results/var-results"; @Component({ selector: "remous-results", @@ -20,7 +19,7 @@ import { fv } from "../../util"; "./remous-results.component.scss" ] }) -export class RemousResultsComponent extends ResultsComponentDirective implements DoCheck { +export class RemousResultsComponent extends ResultsComponentDirective { private _remousResults: RemousResults; @@ -43,23 +42,6 @@ export class RemousResultsComponent extends ResultsComponentDirective implements */ private _tableHeaders: string[]; - /** - * true si les résultats doivent être mis à jour - */ - private _doUpdate = false; - - /** - * composant des résultats variables - */ - @ViewChild(VarResultsComponent) - private varResultsComponent: VarResultsComponent; - - /** - * composant journal - */ - @ViewChild(LogComponent) - private logComponent: LogComponent; - constructor( private intlService: I18nService, private formService: FormulaireService @@ -67,7 +49,11 @@ export class RemousResultsComponent extends ResultsComponentDirective implements super(); } - private get uitextLigneFluviale() { + public get remousResults() { + return this._remousResults; + } + + public get uitextLigneFluviale() { // calculator type for translation const sn = this._remousResults.result.sourceNub; let ct = sn.calcType; @@ -77,7 +63,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements return this.formService.expandVariableNameAndUnit(ct, "FLU"); } - private get uitextLigneTorrentielle() { + public get uitextLigneTorrentielle() { // calculator type for translation const sn = this._remousResults.result.sourceNub; let ct = sn.calcType; @@ -87,23 +73,23 @@ export class RemousResultsComponent extends ResultsComponentDirective implements return this.formService.expandVariableNameAndUnit(ct, "TOR"); } - private get uitextAbscisse() { + public get uitextAbscisse() { return this.intlService.localizeText("INFO_REMOUSRESULTS_ABSCISSE"); } - private get uitextFond() { + public get uitextFond() { return this.intlService.localizeText("INFO_REMOUSRESULTS_FOND"); } - private get uitextBerge() { + public get uitextBerge() { return this.intlService.localizeText("INFO_REMOUSRESULTS_BERGE"); } - private get uitextTirantNormal() { + public get uitextTirantNormal() { return this.intlService.localizeText("INFO_REMOUSRESULTS_TIRANTNORMAL"); } - private get uitextTirantCritique() { + public get uitextTirantCritique() { return this.intlService.localizeText("INFO_REMOUSRESULTS_TIRANTCRITIQUE"); } @@ -154,6 +140,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements return this._remousResults && this._remousResults.result && this._remousResults.result.ok; } + @Input() public set results(rs: CalculatorResults[]) { this._remousResults = undefined; if (rs !== undefined) { @@ -164,43 +151,19 @@ export class RemousResultsComponent extends ResultsComponentDirective implements } } } - this.updateView(); + // this.updateView(); } - public updateView() { - this.graph1_data = {}; - this.graph1_options = {}; - this.graph2_data = {}; - this.graph2_options = {}; - if (this.varResultsComponent !== undefined) { - this.varResultsComponent.results = undefined; - } - if (this.logComponent !== undefined) { - this.logComponent.log = undefined; - } - this._tableHeaders = []; - + public get log(): cLog { if (this._remousResults !== undefined) { - this._doUpdate = this._remousResults.hasResults; - } - } - - /** - * appelé pour gérer les changements non détectés par Angular - */ - public ngDoCheck() { - if (this._doUpdate) { - this._doUpdate = !this.updateResults(); + return this._remousResults.log; } } - private updateResults() { - if (this.logComponent !== undefined && this._remousResults !== undefined) { - this.logComponent.log = this._remousResults.log; - this.generateChart(); - return true; + public get varResults(): VarResults { + if (this._remousResults !== undefined) { + return this._remousResults.varResults; } - return false; } /** @@ -275,9 +238,6 @@ export class RemousResultsComponent extends ResultsComponentDirective implements // le dernier dataset de la liste datasets est dessiné en 1er this._remousResults.update(); - if (this.varResultsComponent) { - this.varResultsComponent.results = this._remousResults.varResults; - } const nub = this._remousResults.result.sourceNub as CourbeRemous; const params = nub.prms as CourbeRemousParams; diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts index 05247e41c..cda71306f 100644 --- a/src/app/components/results-chart/results-chart.component.ts +++ b/src/app/components/results-chart/results-chart.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, AfterContentInit, ChangeDetectorRef } from "@angular/core"; +import { Component, ViewChild, AfterContentInit, ChangeDetectorRef, Input, OnChanges, SimpleChanges } from "@angular/core"; import { ChartComponent } from "angular2-chartjs"; @@ -90,6 +90,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements }; } + @Input() public set results(r: PlottableData) { this.forceRebuild(); this._results = r; @@ -98,13 +99,13 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } } - public get availableXAxis() { + public get availableXAxis(): string[] { if (this._results) { return this._results.getAvailableXAxis(); } } - public get availableYAxis() { + public get availableYAxis(): string[] { if (this._results) { if (this._results.graphType !== ChartType.Scatter) { // do not use real Y axis (that include families), if chart cannot display multiple series @@ -170,6 +171,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } public updateView() { + console.log("----> regenerate chart !!"); // (re)generate chart switch (this._graphTypeComponent.selectedValue) { case ChartType.Histogram: diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts index 130f45e7f..d3fe68751 100644 --- a/src/app/components/section-results/section-results.component.ts +++ b/src/app/components/section-results/section-results.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, DoCheck, ElementRef } from "@angular/core"; +import { Component, ViewChild, ElementRef, Input } from "@angular/core"; import { ResultElement } from "jalhyd"; @@ -16,7 +16,7 @@ import { AppComponent } from "../../app.component"; "./section-results.component.scss" ] }) -export class SectionResultsComponent extends ResultsComponentDirective implements DoCheck { +export class SectionResultsComponent extends ResultsComponentDirective { constructor( private intlService: I18nService, @@ -25,6 +25,7 @@ export class SectionResultsComponent extends ResultsComponentDirective implement super(); } + @Input() public set results(rs: CalculatorResults[]) { this._resultElement = undefined; this._results = undefined; @@ -35,7 +36,8 @@ export class SectionResultsComponent extends ResultsComponentDirective implement } } } - this.updateView(); + // this.updateView(); + this.drawSectionCanvas(); } /** détermine s'il y a des résultats de section "fixes" (pas de paramètre varié, graphique de la section) */ @@ -68,30 +70,9 @@ export class SectionResultsComponent extends ResultsComponentDirective implement */ private _resultElement: ResultElement; - private _doUpdate = false; - @ViewChild(SectionCanvasComponent) private _sectionCanvas: SectionCanvasComponent; - public updateView() { - if (this._sectionCanvas) { - this._sectionCanvas.reset(); - } - - if (this._results) { - this._doUpdate = this._results.hasResults; - } - } - - /** - * appelé pour gérer les changements non détectés par Angular - */ - public ngDoCheck() { - if (this._doUpdate) { - this._doUpdate = !this.updateResults(); - } - } - private isSectionLevel(s: string) { for (const k in SectionResultsComponent.labelColors) { if (k === s) { @@ -101,9 +82,11 @@ export class SectionResultsComponent extends ResultsComponentDirective implement return false; } - private updateResults() { + private drawSectionCanvas() { if (this._results && this._sectionCanvas) { + this._sectionCanvas.reset(); + this._resultElement = new ResultElement(); // compute canvas optimal size the first time diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts index ff36f82b1..716d7fc9e 100644 --- a/src/app/components/variable-results-selector/variable-results-selector.component.ts +++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts @@ -1,11 +1,11 @@ -import { Component, Output, EventEmitter } from "@angular/core"; +import { Component, Output, EventEmitter, Input, OnChanges } from "@angular/core"; import { I18nService } from "../../services/internationalisation.service"; import { fv, longestVarParam } from "../../util"; import { MultiDimensionResults } from "../../results/multidimension-results"; import { PrebarrageResults } from "../../results/prebarrage-results"; -import { CalculatorType, PbCloison, Structure } from "jalhyd"; +import { CalculatorType, PbCloison, Structure, VariatedDetails } from "jalhyd"; @Component({ selector: "variable-results-selector", @@ -14,12 +14,18 @@ import { CalculatorType, PbCloison, Structure } from "jalhyd"; "./variable-results-selector.component.scss" ] }) -export class VariableResultsSelectorComponent { +export class VariableResultsSelectorComponent implements OnChanges { /** résultats non mis en forme */ - private _results: MultiDimensionResults; + @Input() + private results: MultiDimensionResults; - private _selectedValue: number; + /** détails des paramètres qui varient dans le Nub associé au formulaire */ + @Input() + private variatedParameters: VariatedDetails[]; + + /** valeur en cours */ + private _selectedValue = 0; /** size of the longest variable value */ private size = 0; @@ -27,26 +33,23 @@ export class VariableResultsSelectorComponent { /** inferred extended values list for each variating parameter */ private varValues = []; - @Output() - protected indexChange = new EventEmitter(); + /* @Output() + protected indexChange = new EventEmitter(); */ constructor( protected intlService: I18nService, - ) { - this._selectedValue = 0; - } + ) { } - public set results(r: MultiDimensionResults) { - this._results = r; - - if (this._results) { - // pre-extract variable parameters values + public ngOnChanges() { + console.log("==//== changes !! ==//==", this.variatedParameters); + // rebuild variable parameters values everytime somthing changes + if (this.variatedParameters) { this.varValues = []; // find longest list - const lvp = longestVarParam(this._results.variatedParameters); + const lvp = longestVarParam(this.variatedParameters); this.size = lvp.size; // get extended values lists for each variable parameter - for (const v of this._results.variatedParameters) { + for (const v of this.variatedParameters) { const vv = []; const iter = v.param.getExtendedValuesIterator(this.size); while (iter.hasNext) { @@ -56,13 +59,17 @@ export class VariableResultsSelectorComponent { this.varValues.push(vv); } } + // get current variatedIndex even if component was rebuilt + if (this.results) { + this._selectedValue = this.results.variableIndex; + } } public get hasVariableResults(): boolean { return ( - this._results - && this._results.hasResults - && this._results.variatedParameters.length > 0 + this.results + && this.results.hasResults + && this.results.variatedParameters.length > 0 ); } @@ -78,7 +85,7 @@ export class VariableResultsSelectorComponent { const kv = []; for (let i = 0; i < this.varValues.length; i++) { const vv = this.varValues[i]; - const vp = this._results.variatedParameters[i]; + const vp = this.results.variatedParameters[i]; let symbol = vp.param.symbol; // is vp a parameter of a child Nub ? if ( @@ -90,7 +97,7 @@ export class VariableResultsSelectorComponent { switch (vp.param.originNub.calcType) { case CalculatorType.PreBarrage: const struct = vp.param.parentNub as Structure; - const pbRes = this._results as PrebarrageResults; + const pbRes = this.results as PrebarrageResults; const wall = struct.parent as PbCloison; const posS = struct.findPositionInParent() + 1; childPrefix = this.intlService.localizeMessage(wall.description); @@ -117,8 +124,8 @@ export class VariableResultsSelectorComponent { } public set selectedValue(v: number) { - this._results.variableIndex = v; - this.indexChange.emit(); + this.results.variableIndex = v; + // this.indexChange.emit(); } public get label() { diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts index 44967427c..c7af4cc99 100644 --- a/src/app/results/multidimension-results.ts +++ b/src/app/results/multidimension-results.ts @@ -6,7 +6,7 @@ import { VariatedDetails } from "jalhyd"; export class MultiDimensionResults extends CalculatedParamResults { /** paramètres variés */ - public variatedParameters: VariatedDetails[]; + public variatedParameters: VariatedDetails[] = []; /** index de la valeur du paramètre varié à afficher dans les résultats */ protected _variableIndex = 0; diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts index 043c0a896..03987a854 100644 --- a/src/app/results/var-results.ts +++ b/src/app/results/var-results.ts @@ -13,7 +13,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData /** * paramètres variés */ - private _variatedParams: VariatedDetails[]; + private _variatedParams: VariatedDetails[] = []; /** * titre des colonnes des résultats variés @@ -408,10 +408,10 @@ export class VarResults extends CalculatedParamResults implements PlottableData * When variable parameter or chart type changes, ensure the X / Y current values are still available */ public resetDefaultAxisIfNeeded() { - if (! this.getAvailableXAxis().includes(this.chartX)) { + if (this.variatedParameters.length > 0 && ! this.getAvailableXAxis().includes(this.chartX)) { this.chartX = this.variatedParameters[0].param.symbol; } - if (! this.getAvailableYAxis().includes(this.chartY)) { + if (this.variatedParameters.length > 0 && ! this.getAvailableYAxis().includes(this.chartY)) { this.chartY = this.variatedParameters[0].param.symbol; } } -- GitLab From f934bdaa94c2db12e630bcc4bc8edeb5ba368214 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 20 Jul 2020 10:00:53 +0200 Subject: [PATCH 112/117] Renamed graphType to chartType --- .../results-chart/results-chart.component.ts | 40 +++++++++---------- .../formulaire/definition/form-fixedvar.ts | 4 +- src/app/results/plottable-data.ts | 2 +- .../plottable-macrorugo-compound-results.ts | 2 +- src/app/results/plottable-pab-results.ts | 2 +- src/app/results/var-results.ts | 4 +- 6 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts index cda71306f..2995070a5 100644 --- a/src/app/components/results-chart/results-chart.component.ts +++ b/src/app/components/results-chart/results-chart.component.ts @@ -92,10 +92,9 @@ export class ResultsChartComponent extends ResultsComponentDirective implements @Input() public set results(r: PlottableData) { - this.forceRebuild(); this._results = r; if (this._results && this._graphTypeComponent) { - this._graphTypeComponent.selectedValue = r.graphType; + this._graphTypeComponent.selectedValue = r.chartType; } } @@ -107,7 +106,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements public get availableYAxis(): string[] { if (this._results) { - if (this._results.graphType !== ChartType.Scatter) { + if (this._results.chartType !== ChartType.Scatter) { // do not use real Y axis (that include families), if chart cannot display multiple series return this._results.getAvailableXAxis(); } else { @@ -172,24 +171,23 @@ export class ResultsChartComponent extends ResultsComponentDirective implements public updateView() { console.log("----> regenerate chart !!"); - // (re)generate chart - switch (this._graphTypeComponent.selectedValue) { - case ChartType.Histogram: - this.graph_type = "bar"; - this.generateBarChart(); - break; - - case ChartType.Dots: - this.graph_type = "line"; - this.generateLineChart(); - break; - - default: - this.graph_type = "scatter"; - this.generateScatterChart(); - break; + switch (this._graphTypeComponent.selectedValue) { + case ChartType.Histogram: + this.graph_type = "bar"; + this.generateBarChart(); + break; + + case ChartType.Dots: + this.graph_type = "line"; + this.generateLineChart(); + break; + + default: + this.graph_type = "scatter"; + this.generateScatterChart(); + break; + } } - } public ngAfterContentInit() { this._graphTypeComponent.addObserver(this); @@ -481,7 +479,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements update(sender: any, data: any) { if (sender instanceof ChartTypeSelectComponent) { if (data.action === "graphTypeChanged") { - this._results.graphType = data.value; + this._results.chartType = data.value; } } this.updateView(); diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index ab2686541..1795f0818 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -46,8 +46,8 @@ export class FormulaireFixedVar extends FormulaireDefinition { } } - public set graphType(t: ChartType) { - this._varResults.graphType = t; + public set chartType(t: ChartType) { + this._varResults.chartType = t; } public get hasResults(): boolean { diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts index bae4f7709..5df0f992f 100644 --- a/src/app/results/plottable-data.ts +++ b/src/app/results/plottable-data.ts @@ -7,7 +7,7 @@ import { ParamDefinition } from "jalhyd"; */ export interface PlottableData { - graphType: ChartType; + chartType: ChartType; chartX: string; chartY: string; diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts index caf34a119..f98b337af 100644 --- a/src/app/results/plottable-macrorugo-compound-results.ts +++ b/src/app/results/plottable-macrorugo-compound-results.ts @@ -6,7 +6,7 @@ import { ParamDefinition } from "jalhyd"; export class PlottableMacrorugoCompoundResults implements PlottableData { - public graphType: ChartType = ChartType.Scatter; + public chartType: ChartType = ChartType.Scatter; public chartX: string; public chartY: string; diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts index f863a9fa0..09d83514e 100644 --- a/src/app/results/plottable-pab-results.ts +++ b/src/app/results/plottable-pab-results.ts @@ -7,7 +7,7 @@ import { ParamDefinition } from "jalhyd"; export class PlottablePabResults implements PlottableData { - public graphType: ChartType = ChartType.Scatter; + public chartType: ChartType = ChartType.Scatter; public chartX: string; public chartY: string; diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts index 03987a854..826d051ec 100644 --- a/src/app/results/var-results.ts +++ b/src/app/results/var-results.ts @@ -97,11 +97,11 @@ export class VarResults extends CalculatedParamResults implements PlottableData return this._resultHeaders; } - public get graphType(): ChartType { + public get chartType(): ChartType { return this._graphType; } - public set graphType(gt: ChartType) { + public set chartType(gt: ChartType) { this._graphType = gt; this.resetDefaultAxisIfNeeded(); } -- GitLab From 5bb67d751f5ee482644816957edb1fba7ce83789 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 20 Jul 2020 10:24:38 +0200 Subject: [PATCH 113/117] Simplified form results reset --- .../calculator-results.component.ts | 5 +-- .../calculator.component.ts | 35 +------------------ .../pab-results/pab-results.component.ts | 1 - .../pb-results/pb-results.component.ts | 1 - .../remous-results.component.ts | 1 - .../section-results.component.ts | 1 - .../formulaire/definition/form-definition.ts | 12 ------- 7 files changed, 2 insertions(+), 54 deletions(-) diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts index adece2665..8d6de93b5 100644 --- a/src/app/components/calculator-results/calculator-results.component.ts +++ b/src/app/components/calculator-results/calculator-results.component.ts @@ -20,6 +20,7 @@ export class CalculatorResultsComponent implements AfterViewChecked { @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent ) { } + // @TODO @Input() ? public set formulaire(f: FormulaireDefinition) { this._formulaire = f; } @@ -32,10 +33,6 @@ export class CalculatorResultsComponent implements AfterViewChecked { return r; } - public updateView() { - console.log("UPDATE VIEW (disabled)"); - } - public ngAfterViewChecked() { this.afterViewChecked.emit(); } diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index a25f258fe..11c12466a 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -371,10 +371,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe this.appComponent.showProgressBar = true; this._computeClicked = true; this.showPBInputData = false; - // send resetForm to clear log - this._formulaire.notifyObservers({ - "action": "resetForm", - }, this._formulaire); // calculate module setTimeout(() => { this._formulaire.doCompute(); @@ -426,22 +422,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe } } - private setForm(f: FormulaireDefinition) { - if (this._formulaire !== undefined) { - this._formulaire.removeObserver(this); - } - this._formulaire = f; - if (this._formulaire !== undefined) { - this._formulaire.addObserver(this); - } - } - - private updateFormulaireResults(uid: string) { - if (this._formulaire.uid === uid) { - this.resultsComponent.updateView(); - } - } - // interface Observer update(sender: any, data: any): void { @@ -449,22 +429,13 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe switch (data["action"]) { case "currentFormChanged": const uid: string = data["formId"]; - this.setForm(this.formulaireService.getFormulaireFromId(uid)); + this._formulaire = (this.formulaireService.getFormulaireFromId(uid)); this.resultsComponent.formulaire = this._formulaire; this._calculatorNameComponent.model = this._formulaire; // reload localisation in all cases this.formulaireService.loadUpdateFormulaireLocalisation(this._formulaire); break; } - } else if (sender instanceof FormulaireDefinition) { - let f: FormulaireDefinition; - switch (data["action"]) { - case "resetForm": // réinitialisation du formulaire - case "resultsUpdated": - f = sender as FormulaireDefinition; - this.updateFormulaireResults(f.uid); - break; - } } } @@ -538,8 +509,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe */ public onInputChange(event: any) { this._formulaire.resetResults([], (event ? event.symbol : undefined)); - // to refresh log components, that are fed manually (!) - this.resultsComponent.updateView(); } /** @@ -585,8 +554,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe // show proper form (actually subform elements) or proper results, // depending on what was clicked (this._formulaire as FormulairePrebarrage).nodeSelected(event.node); - // refresh results component - this.resultsComponent.updateView(); } public openHelp() { diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts index 011ba0bd1..513710980 100644 --- a/src/app/components/pab-results/pab-results.component.ts +++ b/src/app/components/pab-results/pab-results.component.ts @@ -37,7 +37,6 @@ export class PabResultsComponent extends ResultsComponentDirective { if (rs.length > 0 && rs[0] instanceof PabResults) { this._pabResults = rs[0] as PabResults; } - // this.updateView(); } private mergeGlobalLog(result: Result, log: cLog) { diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts index 666257c7d..034f24e0c 100644 --- a/src/app/components/pb-results/pb-results.component.ts +++ b/src/app/components/pb-results/pb-results.component.ts @@ -30,7 +30,6 @@ export class PbResultsComponent { this._pbResults = r as PrebarrageResults; } } - // this.updateView(); } public get pbResults() { diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index 04d19db49..d6c1b356f 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -151,7 +151,6 @@ export class RemousResultsComponent extends ResultsComponentDirective { } } } - // this.updateView(); } public get log(): cLog { diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts index d3fe68751..0f5529223 100644 --- a/src/app/components/section-results/section-results.component.ts +++ b/src/app/components/section-results/section-results.component.ts @@ -36,7 +36,6 @@ export class SectionResultsComponent extends ResultsComponentDirective { } } } - // this.updateView(); this.drawSectionCanvas(); } diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 855046710..fe8fe3cff 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -320,12 +320,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } } - protected notifyReset() { - this.notifyObservers({ - "action": "resetForm" - }, this); - } - /** * Forwards Nub's progress updated notification. * Used by CalculatorComponent to update progress bar @@ -340,8 +334,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs */ public reset() { this.resetResults([], undefined, true); - // prévenir les composants qu'il faut détecter les changements - this.notifyReset(); } public updateLocalisation(localisation: StringMap, lang: string) { @@ -474,10 +466,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs public doCompute() { // calculate module this.compute(); - // refresh results - this.notifyObservers({ - "action": "resultsUpdated", - }, this); } public resetFormResults() {} -- GitLab From fa9faf0c70669c18a6bc9142948115e18fafc558 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 20 Jul 2020 11:30:44 +0200 Subject: [PATCH 114/117] Simplified results charts components --- .../fixedvar-results.component.html | 2 +- .../fixedvar-results.component.ts | 2 +- .../jet-results/jet-results.component.html | 4 +- .../jet-trajectory-chart.component.ts | 30 +++++++------- .../macrorugo-compound-results.component.html | 5 +-- .../macrorugo-compound-results.component.ts | 9 ++--- .../pab-profile-chart.component.ts | 12 +++--- .../pab-results/pab-results.component.html | 3 +- .../results-chart/results-chart.component.ts | 40 ++++++++++--------- .../formulaire/definition/form-pb-cloison.ts | 2 - src/app/results/param-calc-results.ts | 9 ----- src/app/results/plottable-data.ts | 5 +++ .../plottable-macrorugo-compound-results.ts | 4 ++ src/app/results/plottable-pab-results.ts | 4 ++ src/app/results/var-results.ts | 29 +++++++++----- 15 files changed, 84 insertions(+), 76 deletions(-) diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.html b/src/app/components/fixedvar-results/fixedvar-results.component.html index 6c2d779be..271a25508 100644 --- a/src/app/components/fixedvar-results/fixedvar-results.component.html +++ b/src/app/components/fixedvar-results/fixedvar-results.component.html @@ -2,7 +2,7 @@ <!-- journal --> <log [log]=mergedGlobalLogs></log> - <results-chart [hidden]="! showVarResultsChart" [results]=varResults></results-chart> + <results-chart [hidden]="! showVarResultsChart" [results]=varResults [resultData]=varResults?.result></results-chart> <div> <!-- table des résultats fixés --> diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts index b80300bad..d93bcc55c 100644 --- a/src/app/components/fixedvar-results/fixedvar-results.component.ts +++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts @@ -74,7 +74,7 @@ export class FixedVarResultsComponent extends ResultsComponentDirective { * affichage du graphique des résultats variés */ public get showVarResultsChart(): boolean { - return this._varResults && this._varResults.hasPlottableResults; + return this._varResults && this._varResults.hasPlottableResults(); } public getFixedResultClass(i: number) { diff --git a/src/app/components/jet-results/jet-results.component.html b/src/app/components/jet-results/jet-results.component.html index 1acaf47ff..f3680821b 100644 --- a/src/app/components/jet-results/jet-results.component.html +++ b/src/app/components/jet-results/jet-results.component.html @@ -2,9 +2,9 @@ <!-- journal --> <log></log> - <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart" [results]=varResults></results-chart> + <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart" [results]=varResults [resultData]=varResults?.result></results-chart> - <jet-trajectory-chart [hidden]="! hasValidResults" [results]=trajectoryResults></jet-trajectory-chart> + <jet-trajectory-chart [hidden]="! hasValidResults" [results]=trajectoryResults?.result></jet-trajectory-chart> <div> <!-- table des résultats fixés --> diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts index f4ee238a0..2f92d72ac 100644 --- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts +++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts @@ -1,16 +1,14 @@ -import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core"; +import { Component, ViewChild, ChangeDetectorRef, Input, OnChanges } from "@angular/core"; import { ChartComponent } from "angular2-chartjs"; import { I18nService } from "../../services/internationalisation.service"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; import { IYSeries } from "../../results/y-series"; -import { FixedResults } from "../../results/fixed-results"; -import { VarResults } from "../../results/var-results"; import { fv } from "../../util"; import { AppComponent } from "../../app.component"; -import { Jet } from "jalhyd"; +import { Jet, Result } from "jalhyd"; @Component({ selector: "jet-trajectory-chart", @@ -19,12 +17,12 @@ import { Jet } from "jalhyd"; "./jet-trajectory-chart.component.scss" ] }) -export class JetTrajectoryChartComponent extends ResultsComponentDirective { +export class JetTrajectoryChartComponent extends ResultsComponentDirective implements OnChanges { @ViewChild(ChartComponent) private chartComponent; - private _results: FixedResults | VarResults; + private _results: Result; private _zoomWasChanged = false; @@ -133,13 +131,17 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { } @Input() - public set results(r: FixedResults | VarResults) { + public set results(r: Result) { console.log("miam miam les bons résultats !", r); this.forceRebuild(); // used for forcing redefinition of xAxes[0].ticks.min/max in generateScatterChart() this._results = r; + } - if (this._results && this._results.result) { - const nub = this._results.result.sourceNub as Jet; + // redessine le graphique dès qu'une entrée change + public ngOnChanges() { + console.log("----> regenerate trajectory chart !!"); + if (this._results) { + const nub = this._results.sourceNub as Jet; const length = nub.variatingLength(); // extract variable values list for legend if (nub.resultHasMultipleValues()) { @@ -160,6 +162,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { } } } + this.generateScatterChart(); } } @@ -172,17 +175,12 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { return this._zoomWasChanged; } - public updateView() { - console.log("----> regenerate trajectory chart !!"); - this.generateScatterChart(); - } - /** * génère les données d'un graphique de type "scatter" */ private generateScatterChart() { const ySeries = this.getYSeries(); - const nub = (this._results.result.sourceNub as Jet); + const nub = (this._results.sourceNub as Jet); this.graph_data = { datasets: [] @@ -263,7 +261,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective { private getYSeries(): IYSeries[] { const ret: IYSeries[] = []; const palette = ResultsComponentDirective.distinctColors; - const nub = (this._results.result.sourceNub as Jet); + const nub = (this._results.sourceNub as Jet); const trajectories = nub.generateTrajectories(); for (let i = 0; i < trajectories.length; i++) { diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html index 09e4fba15..563a41235 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html @@ -22,9 +22,8 @@ [currentItem]="'charts'" [align]="'left'"></quicknav> <div id="macrorugo-compound-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> - <!-- <pab-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> - </pab-profile-chart> --> - <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result + fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </results-chart> </div> diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts index cbe53d860..d59d27a3f 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts @@ -25,15 +25,11 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective /** résultats non mis en forme */ private _mrcResults: MacrorugoCompoundResults; - /** résultats mis en forme pour le graphique de données (classique) */ - private _plottableResults: PlottableMacrorugoCompoundResults; - constructor( private appSetupService: ApplicationSetupService, private i18nService: I18nService, ) { super(); - this._plottableResults = new PlottableMacrorugoCompoundResults(); } public ngOnChanges() { @@ -234,8 +230,9 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective /** builds a set of PlottableData from MacrorugoCompoundResults, to feed the chart */ protected get plottableResults(): PlottableData { - this._plottableResults.setMrcResults(this.mrcResults); - return this._plottableResults; + const plottableResults = new PlottableMacrorugoCompoundResults(); + plottableResults.setMrcResults(this.mrcResults); + return plottableResults; } } diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts index 6f24b8ab1..9e4e3ba5e 100644 --- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts +++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core"; +import { Component, ViewChild, ChangeDetectorRef, Input, OnChanges } from "@angular/core"; import { ChartComponent } from "angular2-chartjs"; @@ -20,7 +20,7 @@ import { sprintf } from "sprintf-js"; "./pab-profile-chart.component.scss" ] }) -export class PabProfileChartComponent extends ResultsComponentDirective { +export class PabProfileChartComponent extends ResultsComponentDirective implements OnChanges { @ViewChild(ChartComponent) private chartComponent; @@ -128,7 +128,10 @@ export class PabProfileChartComponent extends ResultsComponentDirective { @Input() public set results(r: PabResults) { this._results = r; + } + // redessine le graphique dès qu'une entrée change + public ngOnChanges() { // pre-extract variable parameters values if (this._results) { this.varValues = []; @@ -146,6 +149,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective { this.varValues.push(vv); } } + this.generateScatterChart(); } public zoomComplete() { @@ -157,10 +161,6 @@ export class PabProfileChartComponent extends ResultsComponentDirective { return this._zoomWasChanged; } - public updateView() { - this.generateScatterChart(); - } - /** * génère les données d'un graphique de type "scatter" */ diff --git a/src/app/components/pab-results/pab-results.component.html b/src/app/components/pab-results/pab-results.component.html index 92237bf25..f7eaa7865 100644 --- a/src/app/components/pab-results/pab-results.component.html +++ b/src/app/components/pab-results/pab-results.component.html @@ -20,7 +20,8 @@ <div id="pab-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> <pab-profile-chart *ngIf="hasDisplayableResults" [results]=pabResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </pab-profile-chart> - <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result + fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </results-chart> </div> diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts index 2995070a5..2dd547434 100644 --- a/src/app/components/results-chart/results-chart.component.ts +++ b/src/app/components/results-chart/results-chart.component.ts @@ -1,8 +1,8 @@ -import { Component, ViewChild, AfterContentInit, ChangeDetectorRef, Input, OnChanges, SimpleChanges } from "@angular/core"; +import { Component, ViewChild, AfterContentInit, ChangeDetectorRef, Input, OnChanges } from "@angular/core"; import { ChartComponent } from "angular2-chartjs"; -import { Observer, ParamFamily } from "jalhyd"; +import { Observer, ParamFamily, Result } from "jalhyd"; import { ChartTypeSelectComponent } from "./chart-type.component"; import { I18nService } from "../../services/internationalisation.service"; @@ -21,7 +21,7 @@ import { AppComponent } from "../../app.component"; "./results-chart.component.scss" ] }) -export class ResultsChartComponent extends ResultsComponentDirective implements AfterContentInit, Observer { +export class ResultsChartComponent extends ResultsComponentDirective implements AfterContentInit, Observer, OnChanges { @ViewChild(ChartComponent) private chartComponent; @@ -98,6 +98,11 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } } + @Input() + public set resultData(r: Result) { + // trick to trigger onChanges when results data changes + } + public get availableXAxis(): string[] { if (this._results) { return this._results.getAvailableXAxis(); @@ -124,9 +129,8 @@ export class ResultsChartComponent extends ResultsComponentDirective implements public set chartX(X) { if (X !== this.chartX) { this._results.chartX = X; - this.forceRebuild(); // refresh chart - this.updateView(); + this.drawChart(); } } @@ -139,9 +143,8 @@ export class ResultsChartComponent extends ResultsComponentDirective implements public set chartY(Y) { if (Y !== this.chartY) { this._results.chartY = Y; - this.forceRebuild(); // refresh chart - this.updateView(); + this.drawChart(); } } @@ -169,8 +172,15 @@ export class ResultsChartComponent extends ResultsComponentDirective implements return this._zoomWasChanged; } - public updateView() { - console.log("----> regenerate chart !!"); + public ngOnChanges() { + console.log("==> ResChart onChanges"); + // redessiner le graphique chaque fois qu'une entrée change + this.drawChart(); + } + + public drawChart() { + console.log("----> regenerate chart !!", this._results); + if (this._results && this._results.hasPlottableResults()) { switch (this._graphTypeComponent.selectedValue) { case ChartType.Histogram: this.graph_type = "bar"; @@ -188,6 +198,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements break; } } + } public ngAfterContentInit() { this._graphTypeComponent.addObserver(this); @@ -212,15 +223,6 @@ export class ResultsChartComponent extends ResultsComponentDirective implements return l; } - /** forces Angular to rebuild the chart @see bug #137 */ - private forceRebuild() { - this.displayChart = false; - const that = this; - setTimeout(() => { // trick - that.displayChart = true; - }, 10); - } - /** * génère les données d'un graphique de type "bar" */ @@ -482,6 +484,6 @@ export class ResultsChartComponent extends ResultsComponentDirective implements this._results.chartType = data.value; } } - this.updateView(); + this.drawChart(); } } diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts index 0327b95aa..2b21a3287 100644 --- a/src/app/formulaire/definition/form-pb-cloison.ts +++ b/src/app/formulaire/definition/form-pb-cloison.ts @@ -146,8 +146,6 @@ export class FormulairePbCloison extends FormulaireParallelStructure { public reset() { // also reset parent results (that will reset all its children results) (this.parent as FormulairePrebarrage).reset(); - // prévenir les composants qu'il faut détecter les changements - this.notifyReset(); } // ensure all PBresults are reset diff --git a/src/app/results/param-calc-results.ts b/src/app/results/param-calc-results.ts index 62cd26f84..f77df00dd 100644 --- a/src/app/results/param-calc-results.ts +++ b/src/app/results/param-calc-results.ts @@ -40,15 +40,6 @@ export abstract class CalculatedParamResults extends CalculatorResults { return false; } return true; - // return ! this.result.hasOnlyErrors; - } - - /** return true if there is something to display on the variable results chart */ - public get hasPlottableResults(): boolean { - if (this.result === undefined) { - return false; - } - return ! this.result.hasOnlyErrors; } public get hasLog(): boolean { diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts index 5df0f992f..a2bd574d2 100644 --- a/src/app/results/plottable-data.ts +++ b/src/app/results/plottable-data.ts @@ -47,4 +47,9 @@ export interface PlottableData { * (used by tooltip functions) */ getVariatingParametersSymbols(): string[]; + + /** + * Returns true if results contain data + */ + hasPlottableResults(): boolean; } diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts index f98b337af..ace4357c6 100644 --- a/src/app/results/plottable-macrorugo-compound-results.ts +++ b/src/app/results/plottable-macrorugo-compound-results.ts @@ -21,6 +21,10 @@ export class PlottableMacrorugoCompoundResults implements PlottableData { this.chartY = this.chartY || "Q"; } + public hasPlottableResults(): boolean { + return this.mrcResults && this.mrcResults.hasResults; + } + /** reaffect mrcResults, for ex. when objet was contructed with empty mrcResults */ public setMrcResults(mrcResults: MacrorugoCompoundResults) { this.mrcResults = mrcResults; diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts index 09d83514e..1ca650a94 100644 --- a/src/app/results/plottable-pab-results.ts +++ b/src/app/results/plottable-pab-results.ts @@ -22,6 +22,10 @@ export class PlottablePabResults implements PlottableData { this.chartY = this.chartY || "YMOY"; } + public hasPlottableResults(): boolean { + return this.pabResults && this.pabResults.hasResults; + } + /** reaffect pabResults, for ex. when objet was contructed with empty pabResults */ public setPabResults(pabResults: PabResults) { this.pabResults = pabResults; diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts index 826d051ec..b3b4ace2c 100644 --- a/src/app/results/var-results.ts +++ b/src/app/results/var-results.ts @@ -106,19 +106,28 @@ export class VarResults extends CalculatedParamResults implements PlottableData this.resetDefaultAxisIfNeeded(); } - public getChartAxisLabel(symbol: string): string { - // 1. calculated param ? - if (this.calculatedParameter && this.calculatedParameter.symbol === symbol) { - return this.calculatedParameterHeader; + public hasPlottableResults(): boolean { + if (this.result === undefined) { + return false; } - // 2. variated param ? - for (let i = 0; i < this.variatedParameters.length; i++) { - if (this._variatedParams[i].param.symbol === symbol) { - return this.variableParamHeaders[i]; + return ! this.result.hasOnlyErrors; + } + + public getChartAxisLabel(symbol: string): string { + if (this.result) { + // 1. calculated param ? + if (this.calculatedParameter && this.calculatedParameter.symbol === symbol) { + return this.calculatedParameterHeader; + } + // 2. variated param ? + for (let i = 0; i < this.variatedParameters.length; i++) { + if (this._variatedParams[i].param.symbol === symbol) { + return this.variableParamHeaders[i]; + } } + // 3. Result element / child result + return this.expandLabelFromSymbol(new ParamDefinition(undefined, symbol, ParamDomainValue.ANY)); } - // 3. Result element / child result - return this.expandLabelFromSymbol(new ParamDefinition(undefined, symbol, ParamDomainValue.ANY)); } /** -- GitLab From 9f7ebf373dcf691ec8fca86794bf086fea72c181 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 20 Jul 2020 15:51:39 +0200 Subject: [PATCH 115/117] Simplified section canvas component --- src/app/app.module.ts | 2 - src/app/components/canvas/canvas.component.ts | 109 ------- .../jet-trajectory-chart.component.ts | 1 - .../macrorugo-compound-results.component.ts | 2 +- .../pab-profile-chart.component.ts | 2 +- .../remous-results.component.html | 2 +- .../remous-results.component.ts | 18 +- .../section-canvas.component.html | 2 + .../section-canvas.component.scss | 3 + .../section-canvas.component.ts | 284 +++++++++++++----- .../section-results.component.html | 2 +- .../section-results.component.ts | 138 +++------ 12 files changed, 263 insertions(+), 302 deletions(-) delete mode 100644 src/app/components/canvas/canvas.component.ts create mode 100644 src/app/components/section-canvas/section-canvas.component.html create mode 100644 src/app/components/section-canvas/section-canvas.component.scss diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 4d9072331..053e0ddcf 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -67,7 +67,6 @@ import { FixedVarResultsComponent } from "./components/fixedvar-results/fixedvar import { SectionResultsComponent } from "./components/section-results/section-results.component"; import { GenericCalculatorComponent } from "./components/generic-calculator/calculator.component"; import { CalculatorNameComponent } from "./components/generic-calculator/calc-name.component"; -import { CalcCanvasComponent } from "./components/canvas/canvas.component"; import { SectionCanvasComponent } from "./components/section-canvas/section-canvas.component"; import { RemousResultsComponent } from "./components/remous-results/remous-results.component"; import { ResultsChartComponent } from "./components/results-chart/results-chart.component"; @@ -185,7 +184,6 @@ const appRoutes: Routes = [ AppComponent, ApplicationSetupComponent, BaseParamInputComponent, - CalcCanvasComponent, CalculatorListComponent, CalculatorNameComponent, CalculatorResultsComponent, diff --git a/src/app/components/canvas/canvas.component.ts b/src/app/components/canvas/canvas.component.ts deleted file mode 100644 index 2035e886e..000000000 --- a/src/app/components/canvas/canvas.component.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { Component, Input, ViewChild, ElementRef, AfterViewInit } from "@angular/core"; - -@Component({ - selector: "calc-canvas", - template: `<canvas #canvas - [attr.width]="width" - [attr.height]="height"> - </canvas> - ` -}) -export class CalcCanvasComponent implements AfterViewInit { - - public get width(): number { - return this._calcCanvas.nativeElement.width; - } - - @Input() - public set width(w: number) { - this._calcCanvas.nativeElement.width = w; - } - - public get height(): number { - return this._calcCanvas.nativeElement.height; - } - - @Input() - public set height(h: number) { - this._calcCanvas.nativeElement.height = h; - } - - private _context2d: CanvasRenderingContext2D; - - @ViewChild("canvas", { static: true }) - private _calcCanvas: ElementRef; - - ngAfterViewInit() { // wait for the view to init before using the element - this._context2d = this._calcCanvas.nativeElement.getContext("2d"); - } - - public clear() { - if (this._context2d) { - this._context2d.clearRect(0, 0, this.width, this.height); - } - } - - public setStrokeColor(r: number, g: number, b: number) { - const col: string = "rgb(" + r + "," + g + "," + b + ")"; - this._context2d.strokeStyle = col; - } - - public setFillColor(r: number, g: number, b: number) { - const col: string = "rgb(" + r + "," + g + "," + b + ")"; - this._context2d.fillStyle = col; - } - - public setFont(f: string) { - this._context2d.font = f; - } - - public fillText(s: string, x: number, y: number, align?: any) { - if (align) { - this._context2d.textAlign = align; - } - this._context2d.fillText(s, x, y); - } - - public setLineWidth(w: number) { - this._context2d.lineWidth = w; - } - - public setLineDash(d: number[]) { - this._context2d.setLineDash(d); - } - - public resetLineDash() { - this._context2d.setLineDash([]); - } - - public drawRect(x1: number, y1: number, w: number, h: number) { - this._context2d.strokeRect(x1, y1, w, h); - } - - public drawLine(x1: number, y1: number, x2: number, y2: number) { - this._context2d.beginPath(); - this._context2d.moveTo(x1, y1); - this._context2d.lineTo(x2, y2); - this._context2d.stroke(); - } - - /** - * - * @param x The x axis of the coordinate for the ellipse's center. - * @param y The y axis of the coordinate for the ellipse's center. - * @param radiusX The ellipse's major-axis radius. - * @param radiusY The ellipse's minor-axis radius. - * @param rotation The rotation for this ellipse, expressed in radians - * @param startAngle The starting point, measured from the x axis, from which it will be drawn, expressed in radians - * @param endAngle The end ellipse's angle to which it will be drawn, expressed in radians - */ - public drawEllipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number) { - this._context2d.beginPath(); - this._context2d.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle); - this._context2d.stroke(); - } - - public get context2d(): CanvasRenderingContext2D { - return this._context2d; - } -} diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts index 2f92d72ac..3e4d1e9db 100644 --- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts +++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts @@ -132,7 +132,6 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective imple @Input() public set results(r: Result) { - console.log("miam miam les bons résultats !", r); this.forceRebuild(); // used for forcing redefinition of xAxes[0].ticks.min/max in generateScatterChart() this._results = r; } diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts index d59d27a3f..6c17591e8 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts @@ -33,7 +33,7 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective } public ngOnChanges() { - console.log("--------> MRCR_C changes…"); + // console.log("--------> MRCR_C changes…"); } @Input() diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts index 9e4e3ba5e..5d9220b27 100644 --- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts +++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts @@ -148,8 +148,8 @@ export class PabProfileChartComponent extends ResultsComponentDirective implemen } this.varValues.push(vv); } + this.generateScatterChart(); } - this.generateScatterChart(); } public zoomComplete() { diff --git a/src/app/components/remous-results/remous-results.component.html b/src/app/components/remous-results/remous-results.component.html index 6b5fda516..7d40b0fa6 100644 --- a/src/app/components/remous-results/remous-results.component.html +++ b/src/app/components/remous-results/remous-results.component.html @@ -40,7 +40,7 @@ <!-- journal --> <log [log]=log></log> -<div [hidden]="! hasData"><!-- *ngIf breaks @ViewChild availability--> +<div *ngIf="hasData"> <!-- résultats numériques --> <var-results [results]=varResults></var-results> </div> diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index d6c1b356f..532556c37 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from "@angular/core"; +import { Component, Input, OnChanges, SimpleChanges } from "@angular/core"; import { INumberIterator, CourbeRemousParams, CourbeRemous, ParamDefinition, ParamDomainValue, cLog } from "jalhyd"; @@ -19,7 +19,7 @@ import { VarResults } from "../../results/var-results"; "./remous-results.component.scss" ] }) -export class RemousResultsComponent extends ResultsComponentDirective { +export class RemousResultsComponent extends ResultsComponentDirective implements OnChanges { private _remousResults: RemousResults; @@ -127,11 +127,6 @@ export class RemousResultsComponent extends ResultsComponentDirective { return this._tableHeaders; } - public getResultClass(i: number) { - // tslint:disable-next-line:no-bitwise - return "result_id_" + String(i & 1); - } - public get hasResults(): boolean { return this._remousResults?.hasResults; } @@ -153,6 +148,13 @@ export class RemousResultsComponent extends ResultsComponentDirective { } } + public ngOnChanges(s: SimpleChanges) { + // console.log("_________> RRC onChanges", s); + if (this._remousResults && this._remousResults.result) { + this.generateChart(); + } + } + public get log(): cLog { if (this._remousResults !== undefined) { return this._remousResults.log; @@ -235,7 +237,7 @@ export class RemousResultsComponent extends ResultsComponentDirective { private generateChart() { // http://www.chartjs.org/docs/latest/charts/line.html // le dernier dataset de la liste datasets est dessiné en 1er - + console.log("ooOOO Oui !"); this._remousResults.update(); const nub = this._remousResults.result.sourceNub as CourbeRemous; diff --git a/src/app/components/section-canvas/section-canvas.component.html b/src/app/components/section-canvas/section-canvas.component.html new file mode 100644 index 000000000..da242b966 --- /dev/null +++ b/src/app/components/section-canvas/section-canvas.component.html @@ -0,0 +1,2 @@ +<canvas #canvas [attr.width]="width" [attr.height]="height"> +</canvas> diff --git a/src/app/components/section-canvas/section-canvas.component.scss b/src/app/components/section-canvas/section-canvas.component.scss new file mode 100644 index 000000000..7f26ddcb5 --- /dev/null +++ b/src/app/components/section-canvas/section-canvas.component.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/app/components/section-canvas/section-canvas.component.ts b/src/app/components/section-canvas/section-canvas.component.ts index 3475f8842..81b4c45dd 100644 --- a/src/app/components/section-canvas/section-canvas.component.ts +++ b/src/app/components/section-canvas/section-canvas.component.ts @@ -1,27 +1,30 @@ -import { Component, ViewChild } from "@angular/core"; +import { Component, ViewChild, Input, OnChanges, AfterViewInit, ElementRef } from "@angular/core"; import { acSection, cSnTrapez, ParamsSectionTrapez, cSnRectang, ParamsSectionRectang, cSnCirc, ParamsSectionCirc, cSnPuiss, ParamsSectionPuiss, Result } from "jalhyd"; -import { CalcCanvasComponent } from "../canvas/canvas.component"; +import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @Component({ selector: "section-canvas", - template: `<calc-canvas #calcCanvas - [width]="size" - [height]="size"> - </calc-canvas> - ` + templateUrl: "./section-canvas.component.html", + styleUrls: [ + "./section-canvas.component.scss" + ] }) -export class SectionCanvasComponent { - - /** default square size, supposed to match device size (computed at contruct time) */ - public originalSize: number; - - /** taille (pixels) du canvas (c'est un carré) */ - public size = 400; +export class SectionCanvasComponent extends ResultsComponentDirective implements AfterViewInit, OnChanges { + + private static labelColors: { [key: string]: any; } = { + "Hs": { r: 255, g: 0, b: 0 }, + "Hsc": { r: 0, g: 0, b: 255 }, + "Yn": { r: 16, g: 128, b: 16 }, + "Ycor": { r: 128, g: 128, b: 128 }, + "Yc": { r: 255, g: 128, b: 0 }, + "Ycon": { r: 255, g: 0, b: 255 }, + "Y": { r: 50, g: 50, b: 50 } + }; /** marges gauche/droite pour le texte (pixels) */ private _textMargin = 90; @@ -35,42 +38,59 @@ export class SectionCanvasComponent { private _section: acSection; + private _result: Result; + + private _size: number; + // tirants private _levels: Object[] = []; - @ViewChild("calcCanvas") - private _calcCanvas: CalcCanvasComponent; + public get width(): number { + // return this._calcCanvas.nativeElement.width; + return this._size; + } + public get height(): number { + // return this._calcCanvas.nativeElement.height; + return this._size; + } + + private _context2d: CanvasRenderingContext2D; + + @ViewChild("canvas", { static: true }) + private _calcCanvas: ElementRef; + + @Input() public set section(s: acSection) { this._section = s; - if (this._section) { - this.draw(); - } } - public reset() { - this._section = undefined; - this._levels = []; - this._calcCanvas.clear(); + @Input() + public set result(r: Result) { + this._result = r; } - private computeScale(maxWidth: number, maxHeight: number) { - this._scaleX = (this.size - 2 * this._textMargin) / maxWidth; - this._scaleY = (this.size - this._bottomMargin) / maxHeight; + @Input() + public set size(s: number) { + this._size = s; + console.log("(i) size set to", this._size); } - /** - * convertit une abscisse en m en pixels - */ - private Xm2pix(x: number) { - return this._textMargin + x * this._scaleX; + // redessine le canvas chaque fois qu'une entrée change + public ngOnChanges() { + console.log("XXX section canvas on changes"); + this.draw(); } - /** - * convertit une ordonnée en m en pixels - */ - private Ym2pix(y: number) { - return this.size - this._bottomMargin - y * this._scaleY; + public ngAfterViewInit() { // wait for the view to init before using the element + this._context2d = this._calcCanvas.nativeElement.getContext("2d"); + console.log("<<<< after view init >>>"); + this.draw(); + } + + public reset() { + this._levels = []; + this.clear(); } public addLevel(val: number, label: string, rgb: {}) { @@ -83,6 +103,45 @@ export class SectionCanvasComponent { return Math.max(this._section.prms.YB.v, this._levels[this._levels.length - 1]["val"]); } + private isSectionLevel(s: string) { + for (const k in SectionCanvasComponent.labelColors) { + if (k === s) { + return true; + } + } + return false; + } + + public draw() { + console.log(">> redrawing at size", this._size); + if (this._context2d && this._section) { + this.reset(); + + // traduction des symboles des variables calculées + const re = this._result.resultElement; + for (const k in re.values) { + if (k !== re.vCalcSymbol) { + const lbl = k.toUpperCase(); + const er = re.getValue(k); + // this._resultElement.addExtraResult(lbl, er); + + if (this.isSectionLevel(k)) { + this.addLevel(er, k + " = " + this.formattedValue(er), SectionCanvasComponent.labelColors[k]); + } + } + } + + // ajout du tirant d'eau saisi + const valY = this._result.sourceNub.getParameter("Y").singleValue; + this.addLevel(valY, "Y = " + this.formattedValue(valY), SectionCanvasComponent.labelColors["Y"]); + + this.sortLevels(); + this.drawFrame(); + const maxWidth = this.drawSection(); + this.drawLevels(maxWidth); + } + } + /** * dessin des pointillés au dessus de la berge * xmin,xmax : position gauche/droite @@ -90,9 +149,9 @@ export class SectionCanvasComponent { * maxHeight : valeur maxi des cotes */ private drawTopDashLines(xmin: number, xmax: number, yb: number, maxHeight: number) { - this._calcCanvas.setLineWidth(2); - this._calcCanvas.setLineDash([5]); - this._calcCanvas.setStrokeColor(128, 128, 128); + this.setLineWidth(2); + this.setLineDash([5]); + this.setStrokeColor(128, 128, 128); this.drawSectionLine(xmin, yb, xmin, maxHeight); this.drawSectionLine(xmax, yb, xmax, maxHeight); } @@ -118,8 +177,8 @@ export class SectionCanvasComponent { // dessin de la section - this._calcCanvas.setStrokeColor(0, 0, 0); - this._calcCanvas.setLineWidth(5); + this.setStrokeColor(0, 0, 0); + this.setLineWidth(5); this.drawSectionLine(0, yb, lp, 0); this.drawSectionLine(lp, 0, lp + prms.LargeurFond.v, 0); this.drawSectionLine(lp + prms.LargeurFond.v, 0, maxWidth, yb); @@ -149,8 +208,8 @@ export class SectionCanvasComponent { // dessin de la section - this._calcCanvas.setStrokeColor(0, 0, 0); - this._calcCanvas.setLineWidth(5); + this.setStrokeColor(0, 0, 0); + this.setLineWidth(5); this.drawSectionLine(0, yb, 0, 0); this.drawSectionLine(0, 0, prms.LargeurBerge.v, 0); this.drawSectionLine(prms.LargeurBerge.v, 0, maxWidth, yb); @@ -191,8 +250,8 @@ export class SectionCanvasComponent { // dessin de la section - this._calcCanvas.setStrokeColor(0, 0, 0); - this._calcCanvas.setLineWidth(5); + this.setStrokeColor(0, 0, 0); + this.setLineWidth(5); const wx: number = maxWidth / 2; const alpha: Result = sect.CalcSection("Alpha", yb); @@ -237,19 +296,19 @@ export class SectionCanvasComponent { // contour de la section - this._calcCanvas.setStrokeColor(0, 0, 0); - this._calcCanvas.setLineWidth(5); + this.setStrokeColor(0, 0, 0); + this.setLineWidth(5); const k: number = prms.k.v; const lambda: number = B / Math.pow(yb, k); const inv_k: number = 1 / k; const n = 20; - this.beginPath(); + this._context2d.beginPath(); for (let x: number = -B / 2; x <= B / 2; x += B / n) { const y: number = Math.pow(Math.abs(x) * 2 / lambda, inv_k); - this.lineTo(x + B / 2, y); + this._context2d.lineTo(this.Xm2pix(x + B / 2), this.Ym2pix(y)); } - this.closePath(); + this._context2d.stroke(); // pointillés du haut this.drawTopDashLines(0, maxWidth, yb, maxHeight); @@ -257,28 +316,16 @@ export class SectionCanvasComponent { return maxWidth; } - private beginPath() { - this._calcCanvas.context2d.beginPath(); - } - - private lineTo(x: number, y: number) { - this._calcCanvas.context2d.lineTo(this.Xm2pix(x), this.Ym2pix(y)); - } - - private closePath() { - this._calcCanvas.context2d.stroke(); - } - private drawSectionEllipse(x: number, y: number, rX: number, rY: number, rot: number, start: number, end: number) { - this._calcCanvas.drawEllipse(this.Xm2pix(x), this.Ym2pix(y), rX * this._scaleX, rY * this._scaleY, rot, start, end); + this.drawEllipse(this.Xm2pix(x), this.Ym2pix(y), rX * this._scaleX, rY * this._scaleY, rot, start, end); } private drawText(s: string, x: number, y: number, align?: string) { - this._calcCanvas.fillText(s, this.Xm2pix(x), this.Ym2pix(y), align); + this.fillText(s, this.Xm2pix(x), this.Ym2pix(y), align); } private drawSectionLine(x1: number, y1: number, x2: number, y2: number) { - this._calcCanvas.drawLine(this.Xm2pix(x1), this.Ym2pix(y1), this.Xm2pix(x2), this.Ym2pix(y2)); + this.drawLine(this.Xm2pix(x1), this.Ym2pix(y1), this.Xm2pix(x2), this.Ym2pix(y2)); } /** @@ -301,6 +348,25 @@ export class SectionCanvasComponent { throw new Error("SectionCanvasComponent.drawSection() : type de section non pris en charge"); } + private computeScale(maxWidth: number, maxHeight: number) { + this._scaleX = (this._size - 2 * this._textMargin) / maxWidth; + this._scaleY = (this._size - this._bottomMargin) / maxHeight; + } + + /** + * convertit une abscisse en m en pixels + */ + private Xm2pix(x: number) { + return this._textMargin + x * this._scaleX; + } + + /** + * convertit une ordonnée en m en pixels + */ + private Ym2pix(y: number) { + return this._size - this._bottomMargin - y * this._scaleY; + } + private sortLevels() { this._levels.sort((a, b) => { if (a["val"] < b["val"]) { @@ -316,16 +382,16 @@ export class SectionCanvasComponent { private drawLevels(maxWidth: number) { let left = true; - this._calcCanvas.resetLineDash(); - this._calcCanvas.setLineWidth(1); - this._calcCanvas.setFont("12px sans- serif"); + this.resetLineDash(); + this.setLineWidth(1); + this.setFont("12px sans- serif"); for (const l of this._levels) { const y = l["val"]; const col = l["rgb"]; - this._calcCanvas.setStrokeColor(col["r"], col["g"], col["b"]); + this.setStrokeColor(col["r"], col["g"], col["b"]); this.drawSectionLine(0, y, maxWidth, y); - this._calcCanvas.setFillColor(col["r"], col["g"], col["b"]); + this.setFillColor(col["r"], col["g"], col["b"]); if (left) { this.drawText(l["label"], -0.1, y, "right"); } else { @@ -337,17 +403,75 @@ export class SectionCanvasComponent { // contour du canvas private drawFrame() { - this._calcCanvas.clear(); - this._calcCanvas.resetLineDash(); - this._calcCanvas.setStrokeColor(128, 128, 128); - this._calcCanvas.drawRect(0, 0, this._calcCanvas.width, this._calcCanvas.height); + this.clear(); + this.resetLineDash(); + this.setStrokeColor(128, 128, 128); + this.drawRect(0, 0, this.width, this.height); } - public draw() { - // console.log(">> redrawing at size", this.size); - this.sortLevels(); - this.drawFrame(); - const maxWidth = this.drawSection(); - this.drawLevels(maxWidth); + public clear() { + if (this._context2d) { + this._context2d.clearRect(0, 0, this.width, this.height); + } + } + + public setStrokeColor(r: number, g: number, b: number) { + const col: string = "rgb(" + r + "," + g + "," + b + ")"; + this._context2d.strokeStyle = col; + } + + public setFillColor(r: number, g: number, b: number) { + const col: string = "rgb(" + r + "," + g + "," + b + ")"; + this._context2d.fillStyle = col; + } + + public setFont(f: string) { + this._context2d.font = f; + } + + public fillText(s: string, x: number, y: number, align?: any) { + if (align) { + this._context2d.textAlign = align; + } + this._context2d.fillText(s, x, y); + } + + public setLineWidth(w: number) { + this._context2d.lineWidth = w; + } + + public setLineDash(d: number[]) { + this._context2d.setLineDash(d); + } + + public resetLineDash() { + this._context2d.setLineDash([]); + } + + public drawRect(x1: number, y1: number, w: number, h: number) { + this._context2d.strokeRect(x1, y1, w, h); + } + + public drawLine(x1: number, y1: number, x2: number, y2: number) { + this._context2d.beginPath(); + this._context2d.moveTo(x1, y1); + this._context2d.lineTo(x2, y2); + this._context2d.stroke(); + } + + /** + * + * @param x The x axis of the coordinate for the ellipse's center. + * @param y The y axis of the coordinate for the ellipse's center. + * @param radiusX The ellipse's major-axis radius. + * @param radiusY The ellipse's minor-axis radius. + * @param rotation The rotation for this ellipse, expressed in radians + * @param startAngle The starting point, measured from the x axis, from which it will be drawn, expressed in radians + * @param endAngle The end ellipse's angle to which it will be drawn, expressed in radians + */ + public drawEllipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number) { + this._context2d.beginPath(); + this._context2d.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle); + this._context2d.stroke(); } } diff --git a/src/app/components/section-results/section-results.component.html b/src/app/components/section-results/section-results.component.html index 04625e227..354c04b94 100644 --- a/src/app/components/section-results/section-results.component.html +++ b/src/app/components/section-results/section-results.component.html @@ -14,7 +14,7 @@ <!-- graphique --> <div class="canvas-container"> - <section-canvas></section-canvas> + <section-canvas [result]=result [section]=section [size]=size></section-canvas> </div> </div> </div> diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts index 0f5529223..b38542d11 100644 --- a/src/app/components/section-results/section-results.component.ts +++ b/src/app/components/section-results/section-results.component.ts @@ -1,8 +1,5 @@ -import { Component, ViewChild, ElementRef, Input } from "@angular/core"; +import { Component, ElementRef, Input, AfterContentChecked } from "@angular/core"; -import { ResultElement } from "jalhyd"; - -import { SectionCanvasComponent } from "../section-canvas/section-canvas.component"; import { SectionResults } from "../../results/section-results"; import { CalculatorResults } from "../../results/calculator-results"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @@ -18,16 +15,30 @@ import { AppComponent } from "../../app.component"; }) export class SectionResultsComponent extends ResultsComponentDirective { + /** taille (pixels) du canvas (c'est un carré) */ + public _size: number; + + /** hardcoded bullet-proof default canvas size **/ + private previousContainerSize: number; + + private defaultSize = 400; + + private minimalSize = 300; + + /** résultats non mis en forme */ + private _results: SectionResults; + constructor( private intlService: I18nService, private element: ElementRef, ) { super(); + this.previousContainerSize = this.defaultSize; + this._size = this.previousContainerSize; } @Input() public set results(rs: CalculatorResults[]) { - this._resultElement = undefined; this._results = undefined; if (rs) { for (const r of rs) { @@ -36,99 +47,22 @@ export class SectionResultsComponent extends ResultsComponentDirective { } } } - this.drawSectionCanvas(); } - /** détermine s'il y a des résultats de section "fixes" (pas de paramètre varié, graphique de la section) */ public get hasResults(): boolean { return this._results && this._results.hasResults; } - public get resultElement() { - return this._resultElement; + public get section() { + return this._results.section; } - private static labelColors: { [key: string]: any; } = { - "Hs": { r: 255, g: 0, b: 0 }, - "Hsc": { r: 0, g: 0, b: 255 }, - "Yn": { r: 16, g: 128, b: 16 }, - "Ycor": { r: 128, g: 128, b: 128 }, - "Yc": { r: 255, g: 128, b: 0 }, - "Ycon": { r: 255, g: 0, b: 255 }, - "Y": { r: 50, g: 50, b: 50 } - }; - - /** hardcoded bullet-proof default canvas size **/ - private previousContainerSize = 400; - - /** résultats non mis en forme */ - private _results: SectionResults; - - /** - * ResultElement mis en forme (symboles des variables traduits) - */ - private _resultElement: ResultElement; - - @ViewChild(SectionCanvasComponent) - private _sectionCanvas: SectionCanvasComponent; - - private isSectionLevel(s: string) { - for (const k in SectionResultsComponent.labelColors) { - if (k === s) { - return true; - } - } - return false; + public get result() { + return this._results.result; } - private drawSectionCanvas() { - if (this._results && this._sectionCanvas) { - - this._sectionCanvas.reset(); - - this._resultElement = new ResultElement(); - - // compute canvas optimal size the first time - if (this._sectionCanvas.originalSize === undefined) { - const container = this.element.nativeElement.querySelector(".section-results-container"); - const size = Math.min(container.offsetWidth, container.offsetHeight); - this._sectionCanvas.originalSize = size - 17; // 417 - 17 = 400 - this._sectionCanvas.size = this._sectionCanvas.originalSize; - } - - // traduction des symboles des variables calculées - const re = this._results.result.resultElement; - for (const k in re.values) { - if (k !== re.vCalcSymbol) { - const lbl = k.toUpperCase(); - const er = re.getValue(k); - this._resultElement.addExtraResult(lbl, er); - - if (this.isSectionLevel(k)) { - this._sectionCanvas.addLevel(er, k + " = " + this.formattedValue(er), SectionResultsComponent.labelColors[k]); - } - } - } - - // ajout du tirant d'eau saisi - const valY = this._results.result.sourceNub.getParameter("Y").singleValue; - this._sectionCanvas.addLevel(valY, "Y = " + this.formattedValue(valY), SectionResultsComponent.labelColors["Y"]); - - // wait just a little to draw, in case this._sectionCanvas.size was changed above (1st run) - setTimeout(() => { - if (this._results && this._results.section) { - this._sectionCanvas.section = this._results.section; - } - }, 100); - - return true; - } - return false; - } - - public getResultClass(i: number) { - // tslint:disable-next-line:no-bitwise - return "result_id_" + String(i & 1); + public get size() { + return this._size; } public exportAsImage(element: HTMLDivElement) { @@ -137,26 +71,34 @@ export class SectionResultsComponent extends ResultsComponentDirective { /** redraw canvas on fullscreen state change (scale drawing) */ public fullscreenChange(isFullscreen: boolean) { - this._sectionCanvas.size = this.getContainerSize(! isFullscreen); - this.previousContainerSize = this._sectionCanvas.size; - setTimeout(() => { - this._sectionCanvas.draw(); - }, 100); + this._size = this.getContainerSize(! isFullscreen, isFullscreen); + this.previousContainerSize = this._size; } - private getContainerSize(useOriginalSize: boolean = false): number { + private getContainerSize(useDefaultSize: boolean = false, useMinOfWidthAndHeight: boolean = false): number { const container = this.element.nativeElement.querySelector(".section-results-container"); + console.log("[container size in getContainerSize]", container.offsetWidth, container.offsetHeight); let size: number; if (container) { - size = Math.min(container.offsetWidth, container.offsetHeight); + if (useMinOfWidthAndHeight) { + // when going to fullscreen mode, ensure the drawing + // is not larger or higher than the screen + size = Math.min(container.offsetWidth, container.offsetHeight); + } else { + size = container.offsetWidth; + } } else { size = this.previousContainerSize; } // when going back from fullscreen mode, container size tends to be - // too high for whatever reason; use originalSize on this purpose - if (useOriginalSize) { - size = Math.min(size, this._sectionCanvas.originalSize); + // too high for whatever reason; use defaultSize on this purpose + if (useDefaultSize) { + console.log("~~ use default ~~", size, this.defaultSize); + size = this.defaultSize; } + // lower boundary + size = Math.max(size, this.minimalSize); + return size; } -- GitLab From 4cb1df04c34f3811e57e653e9a22702ba0c740b6 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 21 Jul 2020 11:39:28 +0200 Subject: [PATCH 116/117] Simplified plottable results charts in PAB and MRC --- .../macrorugo-compound-results.component.html | 8 +- .../macrorugo-compound-results.component.ts | 17 +- .../pab-results/pab-results.component.html | 8 +- .../pab-results/pab-results.component.ts | 12 -- .../pb-results/pb-results.component.html | 4 +- .../results-chart/results-chart.component.ts | 5 + src/app/results/macrorugo-compound-results.ts | 108 ++++++++++++- src/app/results/pab-results.ts | 130 +++++++++++++++- .../plottable-macrorugo-compound-results.ts | 124 --------------- src/app/results/plottable-pab-results.ts | 147 ------------------ 10 files changed, 251 insertions(+), 312 deletions(-) delete mode 100644 src/app/results/plottable-macrorugo-compound-results.ts delete mode 100644 src/app/results/plottable-pab-results.ts diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html index 563a41235..d299d02a3 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html @@ -1,11 +1,11 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> + <log [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> <variable-results-selector [results]=mrcResults [variatedParameters]=mrcResults?.variatedParameters> </variable-results-selector> - <log #iterationLog [log]=iterationLog></log> + <log [log]=iterationLog></log> <div> <!-- tableau de résultats --> @@ -22,8 +22,8 @@ [currentItem]="'charts'" [align]="'left'"></quicknav> <div id="macrorugo-compound-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> - <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result - fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <results-chart *ngIf="hasDisplayableResults" [results]=mrcResults [resultData]=mrcResults?.result + [variableIndex]=mrcResults?.variableIndex fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </results-chart> </div> diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts index 6c17591e8..4e4f108bb 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnChanges } from "@angular/core"; +import { Component, Input } from "@angular/core"; import { Result, cLog, Message, MessageCode, MessageSeverity, MRCInclination } from "jalhyd"; @@ -7,10 +7,8 @@ import { fv } from "../../../app/util"; import { CalculatorResults } from "../../results/calculator-results"; import { NgParameter } from "../../formulaire/elements/ngparam"; import { ApplicationSetupService } from "../../services/app-setup.service"; -import { PlottableData } from "../../results/plottable-data"; import { I18nService } from "../../services/internationalisation.service"; import { MacrorugoCompoundResults } from "../../results/macrorugo-compound-results"; -import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macrorugo-compound-results"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @Component({ @@ -20,7 +18,7 @@ import { ResultsComponentDirective } from "../fixedvar-results/results.component "./macrorugo-compound-results.component.scss" ] }) -export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements OnChanges { +export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective { /** résultats non mis en forme */ private _mrcResults: MacrorugoCompoundResults; @@ -32,10 +30,6 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective super(); } - public ngOnChanges() { - // console.log("--------> MRCR_C changes…"); - } - @Input() public set results(rs: CalculatorResults[]) { this._mrcResults = undefined; @@ -228,11 +222,4 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective return fv(lincl); } - /** builds a set of PlottableData from MacrorugoCompoundResults, to feed the chart */ - protected get plottableResults(): PlottableData { - const plottableResults = new PlottableMacrorugoCompoundResults(); - plottableResults.setMrcResults(this.mrcResults); - return plottableResults; - } - } diff --git a/src/app/components/pab-results/pab-results.component.html b/src/app/components/pab-results/pab-results.component.html index f7eaa7865..c2191ca1e 100644 --- a/src/app/components/pab-results/pab-results.component.html +++ b/src/app/components/pab-results/pab-results.component.html @@ -1,11 +1,11 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> + <log [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> <variable-results-selector [results]="pabResults" [variatedParameters]=pabResults?.variatedParameters> </variable-results-selector> - <log #iterationLog [log]=iterationLog></log> + <log [log]=iterationLog></log> <div> <!-- tableau de résultats --> @@ -20,8 +20,8 @@ <div id="pab-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start"> <pab-profile-chart *ngIf="hasDisplayableResults" [results]=pabResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </pab-profile-chart> - <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result - fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> + <results-chart *ngIf="hasDisplayableResults" [results]=pabResults [resultData]=pabResults?.result + [variableIndex]=pabResults?.variableIndex fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px"> </results-chart> </div> diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts index 513710980..edcbdbb30 100644 --- a/src/app/components/pab-results/pab-results.component.ts +++ b/src/app/components/pab-results/pab-results.component.ts @@ -4,8 +4,6 @@ import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd"; import { CalculatorResults } from "../../results/calculator-results"; import { PabResults } from "../../results/pab-results"; -import { PlottableData } from "../../results/plottable-data"; -import { PlottablePabResults } from "../../results/plottable-pab-results"; import { I18nService } from "../../services/internationalisation.service"; import { ResultsComponentDirective } from "../fixedvar-results/results.component"; @@ -21,14 +19,10 @@ export class PabResultsComponent extends ResultsComponentDirective { /** résultats non mis en forme */ private _pabResults: PabResults; - /** résultats mis en forme pour le graphique de données (classique) */ - private _plottableResults: PlottablePabResults; - constructor( private i18nService: I18nService, ) { super(); - this._plottableResults = new PlottablePabResults(); } @Input() @@ -226,10 +220,4 @@ export class PabResultsComponent extends ResultsComponentDirective { return this.i18nService.localizeText("INFO_TITREJOURNAL_GLOBAL"); } - /** builds a set of PlottableData from PabResults, to feed the chart */ - protected get plottableResults(): PlottableData { - this._plottableResults.setPabResults(this.pabResults); - return this._plottableResults; - } - } diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html index cce785e43..ae3009105 100644 --- a/src/app/components/pb-results/pb-results.component.html +++ b/src/app/components/pb-results/pb-results.component.html @@ -1,10 +1,10 @@ <div class="container"> - <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> + <log [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log> <variable-results-selector [results]=pbResults> </variable-results-selector> - <log #iterationLog [log]=iterationLog></log> + <log [log]=iterationLog></log> <!-- tableau de résultats des bassins --> <pb-results-table *ngIf="hasBasinResults" [results]=pbResults></pb-results-table> diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts index 2dd547434..d8fd854ae 100644 --- a/src/app/components/results-chart/results-chart.component.ts +++ b/src/app/components/results-chart/results-chart.component.ts @@ -103,6 +103,11 @@ export class ResultsChartComponent extends ResultsComponentDirective implements // trick to trigger onChanges when results data changes } + @Input() + public set variableIndex(v: number) { + // trick to trigger onChanges when variable index changes + } + public get availableXAxis(): string[] { if (this._results) { return this._results.getAvailableXAxis(); diff --git a/src/app/results/macrorugo-compound-results.ts b/src/app/results/macrorugo-compound-results.ts index a5c609205..431711bdc 100644 --- a/src/app/results/macrorugo-compound-results.ts +++ b/src/app/results/macrorugo-compound-results.ts @@ -1,9 +1,11 @@ -import { Result } from "jalhyd"; +import { Result, ParamDefinition } from "jalhyd"; import { ServiceFactory } from "../services/service-factory"; import { MultiDimensionResults } from "./multidimension-results"; +import { PlottableData } from "./plottable-data"; +import { ChartType } from "./chart-type"; -export class MacrorugoCompoundResults extends MultiDimensionResults { +export class MacrorugoCompoundResults extends MultiDimensionResults implements PlottableData { /** résultats des modules MacroRugo enfants */ public childrenResults: Result[]; @@ -11,6 +13,10 @@ export class MacrorugoCompoundResults extends MultiDimensionResults { /** symboles des colonnes de résultat */ protected _columns: string[]; + public chartType: ChartType = ChartType.Scatter; + public chartX: string; + public chartY: string; + public constructor() { super(); this.reset(); @@ -28,6 +34,9 @@ export class MacrorugoCompoundResults extends MultiDimensionResults { "ENUM_MacroRugoFlowType", "xCenter" ]; + // axes par défaut + this.chartX = this.chartX || "xCenter"; + this.chartY = this.chartY || "Q"; } /** headers symbols */ @@ -119,4 +128,99 @@ export class MacrorugoCompoundResults extends MultiDimensionResults { return err; } + public hasPlottableResults(): boolean { + return this.hasResults; + } + + /** + * Returns the label to display, for an element of getAvailableChartAxis() + * @param symbol parameter / result symbol (ex: "Q") + */ + public getChartAxisLabel(symbol: string): string { + return this.headers[this.columns.indexOf(symbol)]; + } + + public expandLabelFromSymbol(p: ParamDefinition): string { + return p.symbol; + } + + /** + * Returns a list of plottable parameters / result elements, that can be defined + * as X or Y chart axis + */ + public getAvailableChartAxis(): string[] { + const axis = []; + for (const c of this.columns) { + if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable + axis.push(c); + } + } + return axis; + } + + public getAvailableXAxis(): string[] { + return this.getAvailableChartAxis(); + } + + public getAvailableYAxis(): string[] { + return this.getAvailableChartAxis(); + } + + // just to implement interface + public getVariatingParametersSymbols(): string[] { + return []; + } + + /** + * Returns the series of values for the required symbol + * @param symbol parameter / result symbol (ex: "Q") + */ + public getValuesSeries(symbol: string): number[] { + const data: number[] = []; + const l = this.childrenResults.length; + // when a parameter is variating, index of the variating parameter + // values to build the data from + const vi = this.variableIndex; + + if (this.iterationHasError(vi)) { + return []; + } + + for (let i = 0; i < l; i++) { + switch (symbol) { + case "RADIER_N": + data.push(i + 1); + break; + + case "ZF1": + case "Y": + case "B": + let v: number; + const nub = this.childrenResults[i].sourceNub; + const param = nub.getParameter(symbol); + try { + if (param.hasMultipleValues) { + v = param.getInferredValuesList()[vi]; + } else { + v = param.singleValue; + } + } catch (e) { + // silent fail + } + data.push(v); + break; + + case "Q": + case "Vdeb": + case "Fr": + case "Vmax": + case "PV": + case "xCenter": + data.push(this.childrenResults[i].resultElements[vi].getValue(symbol)); + break; + } + } + + return data; + } } diff --git a/src/app/results/pab-results.ts b/src/app/results/pab-results.ts index bcf4b2b68..1fdf77041 100644 --- a/src/app/results/pab-results.ts +++ b/src/app/results/pab-results.ts @@ -1,9 +1,11 @@ -import { Result } from "jalhyd"; +import { Result, ParamDefinition } from "jalhyd"; import { ServiceFactory } from "../services/service-factory"; import { MultiDimensionResults } from "./multidimension-results"; +import { PlottableData } from "./plottable-data"; +import { ChartType } from "./chart-type"; -export class PabResults extends MultiDimensionResults { +export class PabResults extends MultiDimensionResults implements PlottableData { /** résultats des modules Cloisons avant chaque bassin */ public cloisonsResults: Result[]; @@ -20,6 +22,10 @@ export class PabResults extends MultiDimensionResults { /** symboles des colonnes de résultat */ protected _columns: string[]; + public chartType: ChartType = ChartType.Scatter; + public chartX: string; + public chartY: string; + public constructor() { super(); this.reset(); @@ -36,6 +42,9 @@ export class PabResults extends MultiDimensionResults { "QA", "ENUM_StructureJetType" ]; + // axes par défaut + this.chartX = this.chartX || "CLOISON"; + this.chartY = this.chartY || "YMOY"; } /** headers symbols */ @@ -130,4 +139,121 @@ export class PabResults extends MultiDimensionResults { return err; } + + public hasPlottableResults(): boolean { + return this.hasResults; + } + + /** + * Returns the label to display, for an element of getAvailableChartAxis() + * @param symbol parameter / result symbol (ex: "Q") + */ + public getChartAxisLabel(symbol: string): string { + if (symbol === "x") { // specific case for wall abscissa + return ServiceFactory.instance.i18nService.localizeText("INFO_LIB_ABSCISSE_CLOISON"); + } else { + return this.headers[this.columns.indexOf(symbol)]; + } + } + + public expandLabelFromSymbol(p: ParamDefinition): string { + return p.symbol; + } + + /** + * Returns a list of plottable parameters / result elements, that can be defined + * as X or Y chart axis + */ + public getAvailableChartAxis(): string[] { + const axis = []; + axis.push("x"); // wall abscissa + for (const c of this.columns) { + if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable + axis.push(c); + } + } + return axis; + } + + public getAvailableXAxis(): string[] { + return this.getAvailableChartAxis(); + } + + public getAvailableYAxis(): string[] { + return this.getAvailableChartAxis(); + } + + // just to implement interface + public getVariatingParametersSymbols(): string[] { + return []; + } + + /** + * Returns the series of values for the required symbol + * @param symbol parameter / result symbol (ex: "Q") + */ + public getValuesSeries(symbol: string): number[] { + const data: number[] = []; + const l = this.cloisonsResults.length; + // when a parameter is variating, index of the variating parameter + // values to build the data from + const vi = this.variableIndex; + + if (this.iterationHasError(vi)) { + return []; + } + + switch (symbol) { + case "CLOISON": + data.push(undefined); + for (let i = 0; i <= l; i++) { // <= for one extra step (downwall) + data.push(i + 1); + } + break; + + case "DH": + case "ZRAM": + case "Q": + data.push(undefined); + for (let i = 0; i < l; i++) { + const er = this.cloisonsResults[i].resultElements[vi].getValue(symbol); + data.push(er); + } + const zrAval = this.cloisonAvalResults.resultElements[vi].getValue(symbol); + data.push(zrAval); + break; + + case "Z": + for (let i = 0; i < l; i++) { + data.push(this.cloisonsResults[i].resultElements[vi].vCalc); + } + data.push(this.cloisonAvalResults.resultElements[vi].vCalc); + data.push(this.Z2[vi]); + break; + + case "PV": + case "YMOY": + case "ZRMB": + case "QA": + data.push(undefined); + for (let i = 0; i < l; i++) { + const er = this.cloisonsResults[i].resultElements[vi].getValue(symbol); + data.push(er); + } + data.push(undefined); + break; + + case "x": // wall abscissa + data.push(undefined); + for (let i = 0; i < l; i++) { + const er = this.cloisonsResults[i].resultElements[vi].getValue(symbol); + data.push(er); + } + const erXdw = this.cloisonAvalResults.resultElements[vi].getValue(symbol); + data.push(erXdw); + break; + } + + return data; + } } diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts deleted file mode 100644 index ace4357c6..000000000 --- a/src/app/results/plottable-macrorugo-compound-results.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { PlottableData } from "./plottable-data"; -import { ChartType } from "./chart-type"; -import { MacrorugoCompoundResults } from "./macrorugo-compound-results"; - -import { ParamDefinition } from "jalhyd"; - -export class PlottableMacrorugoCompoundResults implements PlottableData { - - public chartType: ChartType = ChartType.Scatter; - public chartX: string; - public chartY: string; - - protected mrcResults: MacrorugoCompoundResults; - - public constructor(mrcResults?: MacrorugoCompoundResults) { - if (mrcResults) { - this.setMrcResults(mrcResults); - } - // axes par défaut - this.chartX = this.chartX || "xCenter"; - this.chartY = this.chartY || "Q"; - } - - public hasPlottableResults(): boolean { - return this.mrcResults && this.mrcResults.hasResults; - } - - /** reaffect mrcResults, for ex. when objet was contructed with empty mrcResults */ - public setMrcResults(mrcResults: MacrorugoCompoundResults) { - this.mrcResults = mrcResults; - } - - /** - * Returns the label to display, for an element of getAvailableChartAxis() - * @param symbol parameter / result symbol (ex: "Q") - */ - public getChartAxisLabel(symbol: string): string { - return this.mrcResults.headers[this.mrcResults.columns.indexOf(symbol)]; - } - - public expandLabelFromSymbol(p: ParamDefinition): string { - return p.symbol; - } - - /** - * Returns a list of plottable parameters / result elements, that can be defined - * as X or Y chart axis - */ - public getAvailableChartAxis(): string[] { - const axis = []; - for (const c of this.mrcResults.columns) { - if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable - axis.push(c); - } - } - return axis; - } - - public getAvailableXAxis(): string[] { - return this.getAvailableChartAxis(); - } - - public getAvailableYAxis(): string[] { - return this.getAvailableChartAxis(); - } - - // just to implement interface - public getVariatingParametersSymbols(): string[] { - return []; - } - - /** - * Returns the series of values for the required symbol - * @param symbol parameter / result symbol (ex: "Q") - */ - public getValuesSeries(symbol: string): number[] { - const data: number[] = []; - const l = this.mrcResults.childrenResults.length; - // when a parameter is variating, index of the variating parameter - // values to build the data from - const vi = this.mrcResults.variableIndex; - - if (this.mrcResults.iterationHasError(vi)) { - return []; - } - - for (let i = 0; i < l; i++) { - switch (symbol) { - case "RADIER_N": - data.push(i + 1); - break; - - case "ZF1": - case "Y": - case "B": - let v: number; - const nub = this.mrcResults.childrenResults[i].sourceNub; - const param = nub.getParameter(symbol); - try { - if (param.hasMultipleValues) { - v = param.getInferredValuesList()[vi]; - } else { - v = param.singleValue; - } - } catch (e) { - // silent fail - } - data.push(v); - break; - - case "Q": - case "Vdeb": - case "Fr": - case "Vmax": - case "PV": - case "xCenter": - data.push(this.mrcResults.childrenResults[i].resultElements[vi].getValue(symbol)); - break; - } - } - - return data; - } -} diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts deleted file mode 100644 index 1ca650a94..000000000 --- a/src/app/results/plottable-pab-results.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { PlottableData } from "./plottable-data"; -import { PabResults } from "./pab-results"; -import { ChartType } from "./chart-type"; -import { ServiceFactory } from "../services/service-factory"; - -import { ParamDefinition } from "jalhyd"; - -export class PlottablePabResults implements PlottableData { - - public chartType: ChartType = ChartType.Scatter; - public chartX: string; - public chartY: string; - - protected pabResults: PabResults; - - public constructor(pabResults?: PabResults) { - if (pabResults) { - this.setPabResults(pabResults); - } - // axes par défaut - this.chartX = this.chartX || "CLOISON"; - this.chartY = this.chartY || "YMOY"; - } - - public hasPlottableResults(): boolean { - return this.pabResults && this.pabResults.hasResults; - } - - /** reaffect pabResults, for ex. when objet was contructed with empty pabResults */ - public setPabResults(pabResults: PabResults) { - this.pabResults = pabResults; - } - - /** - * Returns the label to display, for an element of getAvailableChartAxis() - * @param symbol parameter / result symbol (ex: "Q") - */ - public getChartAxisLabel(symbol: string): string { - if (symbol === "x") { // specific case for wall abscissa - return ServiceFactory.instance.i18nService.localizeText("INFO_LIB_ABSCISSE_CLOISON"); - } else { - return this.pabResults.headers[this.pabResults.columns.indexOf(symbol)]; - } - } - - public expandLabelFromSymbol(p: ParamDefinition): string { - return p.symbol; - } - - /** - * Returns a list of plottable parameters / result elements, that can be defined - * as X or Y chart axis - */ - public getAvailableChartAxis(): string[] { - const axis = []; - axis.push("x"); // wall abscissa - for (const c of this.pabResults.columns) { - if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable - axis.push(c); - } - } - return axis; - } - - public getAvailableXAxis(): string[] { - return this.getAvailableChartAxis(); - } - - public getAvailableYAxis(): string[] { - return this.getAvailableChartAxis(); - } - - // just to implement interface - public getVariatingParametersSymbols(): string[] { - return []; - } - - /** - * Returns the series of values for the required symbol - * @param symbol parameter / result symbol (ex: "Q") - */ - public getValuesSeries(symbol: string): number[] { - const data: number[] = []; - const pr = this.pabResults; - const l = this.pabResults.cloisonsResults.length; - // when a parameter is variating, index of the variating parameter - // values to build the data from - const vi = this.pabResults.variableIndex; - - if (this.pabResults.iterationHasError(vi)) { - return []; - } - - switch (symbol) { - case "CLOISON": - data.push(undefined); - for (let i = 0; i <= l; i++) { // <= for one extra step (downwall) - data.push(i + 1); - } - break; - - case "DH": - case "ZRAM": - case "Q": - data.push(undefined); - for (let i = 0; i < l; i++) { - const er = pr.cloisonsResults[i].resultElements[vi].getValue(symbol); - data.push(er); - } - const zrAval = pr.cloisonAvalResults.resultElements[vi].getValue(symbol); - data.push(zrAval); - break; - - case "Z": - for (let i = 0; i < l; i++) { - data.push(pr.cloisonsResults[i].resultElements[vi].vCalc); - } - data.push(pr.cloisonAvalResults.resultElements[vi].vCalc); - data.push(pr.Z2[vi]); - break; - - case "PV": - case "YMOY": - case "ZRMB": - case "QA": - data.push(undefined); - for (let i = 0; i < l; i++) { - const er = pr.cloisonsResults[i].resultElements[vi].getValue(symbol); - data.push(er); - } - data.push(undefined); - break; - - case "x": // wall abscissa - data.push(undefined); - for (let i = 0; i < l; i++) { - const er = pr.cloisonsResults[i].resultElements[vi].getValue(symbol); - data.push(er); - } - const erXdw = pr.cloisonAvalResults.resultElements[vi].getValue(symbol); - data.push(erXdw); - break; - } - - return data; - } -} -- GitLab From 4b402e8f9ec327f89a51089b15d79e7aecea853a Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 21 Jul 2020 12:03:51 +0200 Subject: [PATCH 117/117] Added conditions on sub calc-results components --- .../calculator-results.component.html | 10 ++-- .../calculator-results.component.ts | 22 ++++++++- .../calculator.component.ts | 10 ++++ .../macrorugo-compound-results.component.ts | 6 +-- .../pab-results/pab-results.component.ts | 8 ++-- .../pb-results/pb-results.component.ts | 46 +++++++++++++++++++ .../remous-results.component.ts | 1 - .../results-chart/results-chart.component.ts | 2 - .../variable-results-selector.component.ts | 1 - 9 files changed, 88 insertions(+), 18 deletions(-) diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html index bcff4069a..bc3ccaa7b 100644 --- a/src/app/components/calculator-results/calculator-results.component.html +++ b/src/app/components/calculator-results/calculator-results.component.html @@ -1,9 +1,9 @@ <div> - <section-results [results]=formResultsArray></section-results> - <remous-results [results]=formResultsArray></remous-results> - <pab-results [results]=formResultsArray></pab-results> - <pb-results [results]=formResultsArray></pb-results> - <macrorugo-compound-results [results]=formResultsArray></macrorugo-compound-results> + <section-results *ngIf="isSP" [results]=formResultsArray></section-results> + <remous-results *ngIf="isRemous" [results]=formResultsArray></remous-results> + <pab-results *ngIf="isPAB" [results]=formResultsArray></pab-results> + <pb-results *ngIf="isPB" [results]=formResultsArray></pb-results> + <macrorugo-compound-results *ngIf="isMRC" [results]=formResultsArray></macrorugo-compound-results> <jet-results *ngIf="isJet" [results]=formResultsArray></jet-results> <fixedvar-results *ngIf="! isJet" [results]=formResultsArray></fixedvar-results> </div> diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts index 8d6de93b5..41a6e20d1 100644 --- a/src/app/components/calculator-results/calculator-results.component.ts +++ b/src/app/components/calculator-results/calculator-results.component.ts @@ -37,8 +37,26 @@ export class CalculatorResultsComponent implements AfterViewChecked { this.afterViewChecked.emit(); } - // JetResultsComponent extends FixedVarResultsComponent, which makes - // them incompatible with each other + public get isSP() { + return this.calculatorComponent.isSP; + } + + public get isRemous() { + return this.calculatorComponent.isRemous; + } + + public get isPAB() { + return this.calculatorComponent.isPAB; + } + + public get isPB() { + return this.calculatorComponent.isPB; + } + + public get isMRC() { + return this.calculatorComponent.isMRC; + } + public get isJet() { return this.calculatorComponent.isJet; } diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 11c12466a..0590ec732 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -626,6 +626,16 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe return this.is(CalculatorType.Par); } + // true if current Nub is PAR + public get isSP() { + return this.is(CalculatorType.SectionParametree); + } + + // true if current Nub is PAR + public get isRemous() { + return this.is(CalculatorType.CourbeRemous); + } + /** * Returns true if no parameter is varying; ignores parameters having * one of the given {except} symbols, if any diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts index 4e4f108bb..232f0c436 100644 --- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts +++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts @@ -133,9 +133,9 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective } /** - * Retourne les logs à afficher dans le composant de log global, au dessus - * du sélecteur d'itération : messages globaux et / ou résumé des messages - * spécifiques à chaque ResultElement + * Retourne les logs à afficher dans le composant de log local, en dessous + * du sélecteur d'itération : messages concernant l'itération (le ResultElement) + * en cours */ public get iterationLog(): cLog { const l = new cLog(); diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts index edcbdbb30..bb190be6a 100644 --- a/src/app/components/pab-results/pab-results.component.ts +++ b/src/app/components/pab-results/pab-results.component.ts @@ -148,11 +148,11 @@ export class PabResultsComponent extends ResultsComponentDirective { } /** - * Retourne les logs à afficher dans le composant de log global, au dessus - * du sélecteur d'itération : messages globaux et / ou résumé des messages - * spécifiques à chaque ResultElement + * Retourne les logs à afficher dans le composant de log local, en dessous + * du sélecteur d'itération : messages concernant l'itération (le ResultElement) + * en cours */ - private get iterationLog(): cLog { + public get iterationLog(): cLog { const l = new cLog(); if (this._pabResults) { if (this.pabResults.variatedParameters.length > 0) { diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts index 034f24e0c..b502c4e40 100644 --- a/src/app/components/pb-results/pb-results.component.ts +++ b/src/app/components/pb-results/pb-results.component.ts @@ -165,6 +165,52 @@ export class PbResultsComponent { return l; } + /** + * Retourne les logs à afficher dans le composant de log local, en dessous + * du sélecteur d'itération : messages concernant l'itération (le ResultElement) + * en cours + */ + public get iterationLog(): cLog { + const l = new cLog(); + /* if (this._pabResults) { + if (this.pabResults.variatedParameters.length > 0) { + // A. si un paramètre varie + const vi = this._pabResults.variableIndex; + // log de la PAB pour l'itération en cours + if ( + this._pabResults.result + && this._pabResults.result.hasResultElements() + && this._pabResults.result.resultElements[vi] + && this._pabResults.result.resultElements[vi].hasLog() + ) { + l.addLog(this._pabResults.result.resultElements[vi].log); + } + // logs des enfants pour l'itération en cours + for (const cr of this._pabResults.cloisonsResults) { + if (cr && cr.hasResultElements() && cr.resultElements[vi].hasLog()) { + l.addLog(cr.resultElements[vi].log); + } + } + if (this._pabResults.cloisonAvalResults && this._pabResults.cloisonAvalResults.resultElements[vi].hasLog()) { + l.addLog(this._pabResults.cloisonAvalResults.resultElements[vi].log); + } + } else { + // B. si aucun paramètre ne varie + this.mergeGlobalLog(this._pabResults.result, l); // faut bien mettre le log global quelque part + // logs des enfants + for (const cr of this._pabResults.cloisonsResults) { + if (cr && cr.hasResultElements() && cr.resultElement.hasLog()) { + l.addLog(cr.resultElement.log); + } + } + if (this._pabResults.cloisonAvalResults && this._pabResults.cloisonAvalResults.resultElement.hasLog()) { + l.addLog(this._pabResults.cloisonAvalResults.resultElement.log); + } + } + } */ + return l; + } + public get uitextGeneralLogTitle(): string { return this.i18nService.localizeText("INFO_TITREJOURNAL_GLOBAL"); } diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index 532556c37..b39505299 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -237,7 +237,6 @@ export class RemousResultsComponent extends ResultsComponentDirective implements private generateChart() { // http://www.chartjs.org/docs/latest/charts/line.html // le dernier dataset de la liste datasets est dessiné en 1er - console.log("ooOOO Oui !"); this._remousResults.update(); const nub = this._remousResults.result.sourceNub as CourbeRemous; diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts index d8fd854ae..d41858fe7 100644 --- a/src/app/components/results-chart/results-chart.component.ts +++ b/src/app/components/results-chart/results-chart.component.ts @@ -178,13 +178,11 @@ export class ResultsChartComponent extends ResultsComponentDirective implements } public ngOnChanges() { - console.log("==> ResChart onChanges"); // redessiner le graphique chaque fois qu'une entrée change this.drawChart(); } public drawChart() { - console.log("----> regenerate chart !!", this._results); if (this._results && this._results.hasPlottableResults()) { switch (this._graphTypeComponent.selectedValue) { case ChartType.Histogram: diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts index 716d7fc9e..68491335a 100644 --- a/src/app/components/variable-results-selector/variable-results-selector.component.ts +++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts @@ -41,7 +41,6 @@ export class VariableResultsSelectorComponent implements OnChanges { ) { } public ngOnChanges() { - console.log("==//== changes !! ==//==", this.variatedParameters); // rebuild variable parameters values everytime somthing changes if (this.variatedParameters) { this.varValues = []; -- GitLab