From c63928cf3a1bdac6d3d0aa2fe70b3aeb19d65d4d Mon Sep 17 00:00:00 2001 From: Prathmesh Prabhu <82062616+prprabhu-ms@users.noreply.github.com> Date: Wed, 30 Jun 2021 15:34:16 -0700 Subject: [PATCH] Prototype implementation of error handling (#510) --- .prettierignore | 2 +- ...-94aa1b44-7fc3-48c3-86b3-74ef83eb5801.json | 7 + ...-ea385b06-cf38-40b4-b6f2-dbfdcb67910c.json | 7 + common/config/rush/pnpm-lock.yaml | 1976 +++++++++-------- .../review/chat-stateful-client.api.md | 25 + .../src/ChatClientState.ts | 66 +- .../chat-stateful-client/src/ChatContext.ts | 60 +- .../src/StatefulChatClient.test.ts | 125 +- .../src/StatefulChatClient.ts | 31 +- .../src/StatefulChatThreadClient.test.ts | 32 + .../src/StatefulChatThreadClient.ts | 10 +- packages/chat-stateful-client/src/index.ts | 11 +- .../review/communication-react.api.md | 40 +- packages/react-composites/package.json | 1 + .../review/react-composites.api.md | 16 +- .../AzureCommunicationChatAdapter.test.ts | 79 + .../adapter/AzureCommunicationChatAdapter.ts | 28 +- .../ChatComposite/adapter/ChatAdapter.ts | 24 +- .../ChatComposite/adapter/StubChatClient.ts | 133 ++ .../ChatComposite/hooks/useAdaptedSelector.ts | 28 +- .../src/composites/ChatComposite/index.ts | 2 + samples/StaticHtmlComposites/index.html | 4 +- 22 files changed, 1676 insertions(+), 1031 deletions(-) create mode 100644 change/chat-stateful-client-94aa1b44-7fc3-48c3-86b3-74ef83eb5801.json create mode 100644 change/react-composites-ea385b06-cf38-40b4-b6f2-dbfdcb67910c.json create mode 100644 packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.test.ts create mode 100644 packages/react-composites/src/composites/ChatComposite/adapter/StubChatClient.ts diff --git a/.prettierignore b/.prettierignore index 7a621c415ed..b68f9d15874 100644 --- a/.prettierignore +++ b/.prettierignore @@ -22,4 +22,4 @@ shrinkwrap.json *.md # Storybook intermediate files -storybook-static/ \ No newline at end of file +storybook-static/ diff --git a/change/chat-stateful-client-94aa1b44-7fc3-48c3-86b3-74ef83eb5801.json b/change/chat-stateful-client-94aa1b44-7fc3-48c3-86b3-74ef83eb5801.json new file mode 100644 index 00000000000..1d504e578cc --- /dev/null +++ b/change/chat-stateful-client-94aa1b44-7fc3-48c3-86b3-74ef83eb5801.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Add error handling facilities", + "packageName": "chat-stateful-client", + "email": "prprabhu@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/react-composites-ea385b06-cf38-40b4-b6f2-dbfdcb67910c.json b/change/react-composites-ea385b06-cf38-40b4-b6f2-dbfdcb67910c.json new file mode 100644 index 00000000000..bbe79489a40 --- /dev/null +++ b/change/react-composites-ea385b06-cf38-40b4-b6f2-dbfdcb67910c.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Add error handling facilities to ChatAdapter", + "packageName": "react-composites", + "email": "prprabhu@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 87c4ba6ddb1..e7341d49be5 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -37,7 +37,7 @@ packages: '@azure/communication-common': 1.0.0 '@azure/communication-signaling': 1.0.0-beta.3 '@azure/core-auth': 1.3.0 - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.5 '@azure/core-paging': 1.1.3 '@azure/core-tracing': 1.0.0-preview.10 '@azure/logger': 1.0.2 @@ -53,7 +53,7 @@ packages: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.0 - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.5 '@opentelemetry/api': 0.10.2 events: 3.3.0 jwt-decode: 2.2.0 @@ -68,7 +68,7 @@ packages: '@azure/abort-controller': 1.0.4 '@azure/communication-common': 1.0.0 '@azure/core-auth': 1.3.0 - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.5 '@azure/core-lro': 1.0.5 '@azure/core-paging': 1.1.3 '@azure/core-tracing': 1.0.0-preview.10 @@ -83,7 +83,7 @@ packages: integrity: sha512-fa220+fQn27JN8QtajeMe88rqrJn3qctT/8FV/abJe6tSBJlAWYXOHiIF3nCgSeyIb5F9pi7Fycd9M55OY4O9w== /@azure/communication-signaling/1.0.0-beta.3: dependencies: - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.5 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 @@ -96,7 +96,7 @@ packages: integrity: sha512-WargzA8PMc9SEvQpjhM0vVq/HB0wGUScplW8Us9nEFLHy/ZvgVjbRHlCALCa/tlU/Pv3RgZhk7XuPfwip17MCQ== /@azure/communication-signaling/1.0.0-beta.5: dependencies: - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.5 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 @@ -142,7 +142,7 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-cNumz3ckyFZY5zWOgcTHSO7AKRVwxbodG8WfcEGcdH+ZJL3KvJEI/vN58H6xk5v3ijulU2x/WPGJqrMVvcI79A== - /@azure/core-http/1.2.6: + /@azure/core-http/1.2.5: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 @@ -163,11 +163,11 @@ packages: engines: node: '>=8.0.0' resolution: - integrity: sha512-odtH7UMKtekc5YQ86xg9GlVHNXR6pq2JgJ5FBo7/jbOjNGdBqcrIVrZx2bevXVJz/uUTSx6vUf62gzTXTfqYSQ== + integrity: sha512-SjjjqaO9emyn+XM0Qyzt5RsgddOIpGAfhWH6+d8X6/HbhFrtvXLJIz85EMoIO+T4rX3ISStik9MD5LMW9IZg4A== /@azure/core-lro/1.0.5: dependencies: '@azure/abort-controller': 1.0.4 - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.5 '@azure/core-tracing': 1.0.0-preview.11 events: 3.3.0 tslib: 2.3.0 @@ -242,23 +242,23 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== - /@babel/compat-data/7.14.7: + /@babel/compat-data/7.14.5: dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== + integrity: sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w== /@babel/core/7.12.9: dependencies: '@babel/code-frame': 7.14.5 '@babel/generator': 7.14.5 '@babel/helper-module-transforms': 7.14.5 - '@babel/helpers': 7.14.6 - '@babel/parser': 7.14.7 + '@babel/helpers': 7.14.5 + '@babel/parser': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 debug: 4.3.1 gensync: 1.0.0-beta.2 json5: 2.2.0 @@ -277,12 +277,12 @@ packages: '@babel/generator': 7.14.5 '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.13.10 '@babel/helper-module-transforms': 7.14.5 - '@babel/helpers': 7.14.6 - '@babel/parser': 7.14.7 + '@babel/helpers': 7.14.5 + '@babel/parser': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 debug: 4.3.1 gensync: 1.0.0-beta.2 json5: 2.2.0 @@ -294,18 +294,18 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw== - /@babel/core/7.14.6: + /@babel/core/7.14.5: dependencies: '@babel/code-frame': 7.14.5 '@babel/generator': 7.14.5 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.5 '@babel/helper-module-transforms': 7.14.5 - '@babel/helpers': 7.14.6 - '@babel/parser': 7.14.7 + '@babel/helpers': 7.14.5 + '@babel/parser': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 debug: 4.3.1 gensync: 1.0.0-beta.2 json5: 2.2.0 @@ -315,7 +315,7 @@ packages: engines: node: '>=6.9.0' resolution: - integrity: sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== + integrity: sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg== /@babel/generator/7.14.5: dependencies: '@babel/types': 7.14.5 @@ -345,7 +345,7 @@ packages: integrity: sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== /@babel/helper-compilation-targets/7.14.5_@babel+core@7.13.10: dependencies: - '@babel/compat-data': 7.14.7 + '@babel/compat-data': 7.14.5 '@babel/core': 7.13.10 '@babel/helper-validator-option': 7.14.5 browserslist: 4.16.6 @@ -357,10 +357,10 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== - /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.6: + /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.6 + '@babel/compat-data': 7.14.5 + '@babel/core': 7.14.5 '@babel/helper-validator-option': 7.14.5 browserslist: 4.16.6 semver: 6.3.0 @@ -371,12 +371,12 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== - /@babel/helper-create-class-features-plugin/7.14.6_@babel+core@7.13.10: + /@babel/helper-create-class-features-plugin/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-function-name': 7.14.5 - '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-member-expression-to-functions': 7.14.5 '@babel/helper-optimise-call-expression': 7.14.5 '@babel/helper-replace-supers': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 @@ -386,13 +386,13 @@ packages: peerDependencies: '@babel/core': ^7.0.0 resolution: - integrity: sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== - /@babel/helper-create-class-features-plugin/7.14.6_@babel+core@7.14.6: + integrity: sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ== + /@babel/helper-create-class-features-plugin/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-function-name': 7.14.5 - '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-member-expression-to-functions': 7.14.5 '@babel/helper-optimise-call-expression': 7.14.5 '@babel/helper-replace-supers': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 @@ -402,7 +402,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 resolution: - integrity: sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== + integrity: sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ== /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 @@ -415,9 +415,9 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== - /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.14.6: + /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-annotate-as-pure': 7.14.5 regexpu-core: 4.7.1 dev: false @@ -433,7 +433,7 @@ packages: '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.13.10 '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 debug: 4.3.1 lodash.debounce: 4.0.8 resolve: 1.20.0 @@ -443,13 +443,13 @@ packages: '@babel/core': ^7.4.0-0 resolution: integrity: sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg== - /@babel/helper-define-polyfill-provider/0.1.5_@babel+core@7.14.6: + /@babel/helper-define-polyfill-provider/0.1.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.5 '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 debug: 4.3.1 lodash.debounce: 4.0.8 resolve: 1.20.0 @@ -493,14 +493,14 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== - /@babel/helper-member-expression-to-functions/7.14.7: + /@babel/helper-member-expression-to-functions/7.14.5: dependencies: '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== + integrity: sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ== /@babel/helper-module-imports/7.14.5: dependencies: '@babel/types': 7.14.5 @@ -517,7 +517,7 @@ packages: '@babel/helper-split-export-declaration': 7.14.5 '@babel/helper-validator-identifier': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 dev: false engines: @@ -554,9 +554,9 @@ packages: integrity: sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== /@babel/helper-replace-supers/7.14.5: dependencies: - '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-member-expression-to-functions': 7.14.5 '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 dev: false engines: @@ -603,23 +603,23 @@ packages: dependencies: '@babel/helper-function-name': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== - /@babel/helpers/7.14.6: + /@babel/helpers/7.14.5: dependencies: '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== + integrity: sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q== /@babel/highlight/7.14.5: dependencies: '@babel/helper-validator-identifier': 7.14.5 @@ -630,14 +630,14 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - /@babel/parser/7.14.7: + /@babel/parser/7.14.5: dev: false engines: node: '>=6.0.0' hasBin: true resolution: - integrity: sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== - /@babel/plugin-proposal-async-generator-functions/7.14.7_@babel+core@7.13.10: + integrity: sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg== + /@babel/plugin-proposal-async-generator-functions/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 '@babel/helper-plugin-utils': 7.14.5 @@ -649,24 +649,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== - /@babel/plugin-proposal-async-generator-functions/7.14.7_@babel+core@7.14.6: + integrity: sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA== + /@babel/plugin-proposal-async-generator-functions/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-remap-async-to-generator': 7.14.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== + integrity: sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA== /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.13.10 + '@babel/helper-create-class-features-plugin': 7.14.5_@babel+core@7.13.10 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -675,10 +675,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== - /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-class-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -687,12 +687,12 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== - /@babel/plugin-proposal-decorators/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-decorators/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-class-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-decorators': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-decorators': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -712,11 +712,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== - /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -724,11 +724,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== - /@babel/plugin-proposal-export-default-from/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-export-default-from/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-export-default-from': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-export-default-from': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -748,11 +748,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== - /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -772,11 +772,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== - /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -796,11 +796,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== - /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -820,11 +820,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== - /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -844,11 +844,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== - /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -867,9 +867,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== - /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.13.10: + /@babel/plugin-proposal-object-rest-spread/7.14.5_@babel+core@7.13.10: dependencies: - '@babel/compat-data': 7.14.7 + '@babel/compat-data': 7.14.5 '@babel/core': 7.13.10 '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.13.10 '@babel/helper-plugin-utils': 7.14.5 @@ -881,22 +881,22 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== - /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.14.6: + integrity: sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A== + /@babel/plugin-proposal-object-rest-spread/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.6 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/compat-data': 7.14.5 + '@babel/core': 7.14.5 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== + integrity: sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A== /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 @@ -909,11 +909,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== - /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -934,12 +934,12 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== - /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -950,7 +950,7 @@ packages: /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.13.10 + '@babel/helper-create-class-features-plugin': 7.14.5_@babel+core@7.13.10 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -959,10 +959,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== - /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-class-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -983,10 +983,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== - /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.14.6: + /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1004,9 +1004,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.14.6: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1022,9 +1022,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1040,18 +1040,18 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.14.6: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - /@babel/plugin-syntax-decorators/7.14.5_@babel+core@7.14.6: + /@babel/plugin-syntax-decorators/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1069,18 +1069,18 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - /@babel/plugin-syntax-export-default-from/7.14.5_@babel+core@7.14.6: + /@babel/plugin-syntax-export-default-from/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1098,9 +1098,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1127,9 +1127,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.14.6: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1145,9 +1145,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1174,9 +1174,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== - /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.14.6: + /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1194,9 +1194,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.14.6: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1212,9 +1212,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1230,9 +1230,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.14.6: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1257,9 +1257,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1275,9 +1275,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1293,9 +1293,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.14.6: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false peerDependencies: @@ -1313,9 +1313,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.14.6: + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1324,9 +1324,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - /@babel/plugin-syntax-typescript/7.14.5_@babel+core@7.14.6: + /@babel/plugin-syntax-typescript/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1346,9 +1346,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== - /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1370,9 +1370,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== - /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-remap-async-to-generator': 7.14.5 @@ -1394,9 +1394,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== - /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1416,9 +1416,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw== - /@babel/plugin-transform-block-scoping/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-block-scoping/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1444,9 +1444,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA== - /@babel/plugin-transform-classes/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-classes/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-function-name': 7.14.5 '@babel/helper-optimise-call-expression': 7.14.5 @@ -1472,9 +1472,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== - /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1483,7 +1483,7 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== - /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.13.10: + /@babel/plugin-transform-destructuring/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 '@babel/helper-plugin-utils': 7.14.5 @@ -1493,10 +1493,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== - /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.14.6: + integrity: sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww== + /@babel/plugin-transform-destructuring/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1504,7 +1504,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== + integrity: sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww== /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 @@ -1517,10 +1517,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== - /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1540,9 +1540,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== - /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1563,9 +1563,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== - /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-builder-binary-assignment-operator-visitor': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false @@ -1598,9 +1598,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== - /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1621,9 +1621,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== - /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-function-name': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false @@ -1644,9 +1644,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== - /@babel/plugin-transform-literals/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-literals/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1666,9 +1666,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== - /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1690,9 +1690,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== - /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-module-transforms': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 babel-plugin-dynamic-import-node: 2.3.3 @@ -1717,9 +1717,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A== - /@babel/plugin-transform-modules-commonjs/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-modules-commonjs/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-module-transforms': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-simple-access': 7.14.5 @@ -1746,9 +1746,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== - /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-hoist-variables': 7.14.5 '@babel/helper-module-transforms': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 @@ -1773,9 +1773,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== - /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-module-transforms': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false @@ -1785,7 +1785,7 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== - /@babel/plugin-transform-named-capturing-groups-regex/7.14.7_@babel+core@7.13.10: + /@babel/plugin-transform-named-capturing-groups-regex/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.13.10 @@ -1795,18 +1795,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0 resolution: - integrity: sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg== - /@babel/plugin-transform-named-capturing-groups-regex/7.14.7_@babel+core@7.14.6: + integrity: sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw== + /@babel/plugin-transform-named-capturing-groups-regex/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' peerDependencies: '@babel/core': ^7.0.0 resolution: - integrity: sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg== + integrity: sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw== /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 @@ -1818,9 +1818,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== - /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1841,9 +1841,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== - /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-replace-supers': 7.14.5 dev: false @@ -1875,9 +1875,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== - /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1897,9 +1897,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== - /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1919,9 +1919,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ== - /@babel/plugin-transform-react-display-name/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-react-display-name/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -1941,10 +1941,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== - /@babel/plugin-transform-react-jsx-development/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-react-jsx-development/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -1967,13 +1967,13 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q== - /@babel/plugin-transform-react-jsx/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-react-jsx/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.14.5 '@babel/types': 7.14.5 dev: false engines: @@ -1994,9 +1994,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== - /@babel/plugin-transform-react-pure-annotations/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-react-pure-annotations/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false @@ -2017,9 +2017,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== - /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 regenerator-transform: 0.14.5 dev: false engines: @@ -2039,9 +2039,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== - /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2061,9 +2061,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== - /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2072,7 +2072,7 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== - /@babel/plugin-transform-spread/7.14.6_@babel+core@7.13.10: + /@babel/plugin-transform-spread/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 '@babel/helper-plugin-utils': 7.14.5 @@ -2083,10 +2083,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== - /@babel/plugin-transform-spread/7.14.6_@babel+core@7.14.6: + integrity: sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw== + /@babel/plugin-transform-spread/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 dev: false @@ -2095,7 +2095,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== + integrity: sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw== /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 @@ -2107,9 +2107,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== - /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2129,9 +2129,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== - /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2151,9 +2151,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== - /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2162,19 +2162,19 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== - /@babel/plugin-transform-typescript/7.14.6_@babel+core@7.14.6: + /@babel/plugin-transform-typescript/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-class-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-typescript': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-typescript': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA== + integrity: sha512-cFD5PKp4b8/KkwQ7h71FdPXFvz1RgwTFF9akRZwFldb9G0AHf7CgoPx96c4Q/ZVjh6V81tqQwW5YiHws16OzPg== /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.13.10: dependencies: '@babel/core': 7.13.10 @@ -2186,9 +2186,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== - /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2209,10 +2209,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== - /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.14.6: + /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 dev: false engines: @@ -2223,12 +2223,12 @@ packages: integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== /@babel/preset-env/7.13.10_@babel+core@7.13.10: dependencies: - '@babel/compat-data': 7.14.7 + '@babel/compat-data': 7.14.5 '@babel/core': 7.13.10 '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.13.10 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-proposal-async-generator-functions': 7.14.7_@babel+core@7.13.10 + '@babel/plugin-proposal-async-generator-functions': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.13.10 @@ -2236,7 +2236,7 @@ packages: '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.13.10 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.13.10 + '@babel/plugin-proposal-object-rest-spread': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.13.10 '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.13.10 @@ -2259,7 +2259,7 @@ packages: '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.13.10 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.13.10 + '@babel/plugin-transform-destructuring': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.13.10 @@ -2271,7 +2271,7 @@ packages: '@babel/plugin-transform-modules-commonjs': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.13.10 - '@babel/plugin-transform-named-capturing-groups-regex': 7.14.7_@babel+core@7.13.10 + '@babel/plugin-transform-named-capturing-groups-regex': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.13.10 @@ -2279,7 +2279,7 @@ packages: '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.13.10 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.13.10 + '@babel/plugin-transform-spread': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.13.10 '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.13.10 @@ -2290,83 +2290,83 @@ packages: babel-plugin-polyfill-corejs2: 0.1.10_@babel+core@7.13.10 babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.13.10 babel-plugin-polyfill-regenerator: 0.1.6_@babel+core@7.13.10 - core-js-compat: 3.15.1 + core-js-compat: 3.14.0 semver: 6.3.0 dev: false peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-nOsTScuoRghRtUsRr/c69d042ysfPHcu+KOB4A9aAO9eJYqrkat+LF8G1yp1HD18QiwixT2CisZTr/0b3YZPXQ== - /@babel/preset-env/7.13.10_@babel+core@7.14.6: + /@babel/preset-env/7.13.10_@babel+core@7.14.5: dependencies: - '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.6 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/compat-data': 7.14.5 + '@babel/core': 7.14.5 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-proposal-async-generator-functions': 7.14.7_@babel+core@7.14.6 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.14.6 - '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.6 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.6 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-block-scoped-functions': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.14.6 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-member-expression-literals': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-modules-commonjs': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-named-capturing-groups-regex': 7.14.7_@babel+core@7.14.6 - '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.14.6 - '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.14.6 - '@babel/preset-modules': 0.1.4_@babel+core@7.14.6 + '@babel/plugin-proposal-async-generator-functions': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-object-rest-spread': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.5 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-block-scoped-functions': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-destructuring': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-member-expression-literals': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-modules-commonjs': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-named-capturing-groups-regex': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-spread': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.14.5 + '@babel/preset-modules': 0.1.4_@babel+core@7.14.5 '@babel/types': 7.14.5 - babel-plugin-polyfill-corejs2: 0.1.10_@babel+core@7.14.6 - babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.14.6 - babel-plugin-polyfill-regenerator: 0.1.6_@babel+core@7.14.6 - core-js-compat: 3.15.1 + babel-plugin-polyfill-corejs2: 0.1.10_@babel+core@7.14.5 + babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.14.5 + babel-plugin-polyfill-regenerator: 0.1.6_@babel+core@7.14.5 + core-js-compat: 3.14.0 semver: 6.3.0 dev: false peerDependencies: @@ -2399,12 +2399,12 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - /@babel/preset-modules/0.1.4_@babel+core@7.14.6: + /@babel/preset-modules/0.1.4_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.5 '@babel/types': 7.14.5 esutils: 2.0.3 dev: false @@ -2428,15 +2428,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== - /@babel/preset-react/7.14.5_@babel+core@7.14.6: + /@babel/preset-react/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-react-display-name': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-react-jsx-development': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-react-pure-annotations': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-react-display-name': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-react-jsx-development': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-react-pure-annotations': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -2444,12 +2444,12 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== - /@babel/preset-typescript/7.14.5_@babel+core@7.14.6: + /@babel/preset-typescript/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-typescript': 7.14.6_@babel+core@7.14.6 + '@babel/plugin-transform-typescript': 7.14.5_@babel+core@7.14.5 dev: false engines: node: '>=6.9.0' @@ -2457,9 +2457,9 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw== - /@babel/register/7.14.5_@babel+core@7.14.6: + /@babel/register/7.14.5_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -2472,41 +2472,41 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-TjJpGz/aDjFGWsItRBQMOFTrmTI9tr79CHOK+KIvLeCkbxuOAk2M5QHjvruIMGoo9OuccMh5euplPzc5FjAKGg== - /@babel/runtime-corejs3/7.14.7: + /@babel/runtime-corejs3/7.14.5: dependencies: - core-js-pure: 3.15.1 + core-js-pure: 3.14.0 regenerator-runtime: 0.13.7 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA== - /@babel/runtime/7.14.6: + integrity: sha512-cBbwXj3F2xjnQJ0ERaFRLjxhUSBYsQPXJ7CERz/ecx6q6hzQ99eTflAPFC3ks4q/IG4CWupNVdflc4jlFBJVsg== + /@babel/runtime/7.14.5: dependencies: regenerator-runtime: 0.13.7 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== + integrity: sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA== /@babel/template/7.14.5: dependencies: '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.7 + '@babel/parser': 7.14.5 '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - /@babel/traverse/7.14.7: + /@babel/traverse/7.14.5: dependencies: '@babel/code-frame': 7.14.5 '@babel/generator': 7.14.5 '@babel/helper-function-name': 7.14.5 '@babel/helper-hoist-variables': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/parser': 7.14.7 + '@babel/parser': 7.14.5 '@babel/types': 7.14.5 debug: 4.3.1 globals: 11.12.0 @@ -2514,15 +2514,15 @@ packages: engines: node: '>=6.9.0' resolution: - integrity: sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== - /@babel/traverse/7.14.7_supports-color@5.5.0: + integrity: sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg== + /@babel/traverse/7.14.5_supports-color@5.5.0: dependencies: '@babel/code-frame': 7.14.5 '@babel/generator': 7.14.5 '@babel/helper-function-name': 7.14.5 '@babel/helper-hoist-variables': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/parser': 7.14.7 + '@babel/parser': 7.14.5 '@babel/types': 7.14.5 debug: 4.3.1_supports-color@5.5.0 globals: 11.12.0 @@ -2532,7 +2532,7 @@ packages: peerDependencies: supports-color: '*' resolution: - integrity: sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== + integrity: sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg== /@babel/types/7.14.5: dependencies: '@babel/helper-validator-identifier': 7.14.5 @@ -2577,7 +2577,7 @@ packages: integrity: sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ== /@emotion/core/10.1.1_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@emotion/cache': 10.0.29 '@emotion/css': 10.0.27 '@emotion/serialize': 0.11.16 @@ -2627,7 +2627,7 @@ packages: integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA== /@emotion/styled-base/10.0.31_5f216699bc8c1f24088b3bf77b7cbbdf: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@emotion/core': 10.1.1_react@16.14.0 '@emotion/is-prop-valid': 0.8.8 '@emotion/serialize': 0.11.16 @@ -2702,7 +2702,7 @@ packages: integrity: sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== /@fluentui/accessibility/0.51.7: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@fluentui/keyboard-key': 0.2.17 lodash: 4.17.21 dev: false @@ -2729,22 +2729,22 @@ packages: dev: false resolution: integrity: sha512-9LxI3iLbBkyoudRyk0nPTjMdMB2+ClDfM8V3A0SM82e5cDss5qlo0fog/2T2aoaon+hwfeinpiY4e3znx+Nn0w== - /@fluentui/font-icons-mdl2/8.1.3_807f3d8e201fbb23c29c1613533607c0: + /@fluentui/font-icons-mdl2/8.1.2_807f3d8e201fbb23c29c1613533607c0: dependencies: '@fluentui/set-version': 8.1.2 - '@fluentui/style-utilities': 8.1.3_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/style-utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 tslib: 2.3.0 dev: false peerDependencies: '@types/react': '*' react: '*' resolution: - integrity: sha512-JIfZ9oeMbMHAKaPnFFDMEuInjv63kmbNns+I3KxHngykDRS0KIszePyrvRfFr7jFYR6DqjLd74Ps4d4Kwtmv5A== - /@fluentui/foundation-legacy/8.1.3_807f3d8e201fbb23c29c1613533607c0: + integrity: sha512-oQVh8HMs8P5FlI9XmI4QZIHIOo51g/50HpjOy6XmtNa/fnek/u8Ez/L92X7jMsT/fLGU94TNa8T4VENfWHBELw== + /@fluentui/foundation-legacy/8.1.2_807f3d8e201fbb23c29c1613533607c0: dependencies: '@fluentui/merge-styles': 8.1.2 '@fluentui/set-version': 8.1.2 - '@fluentui/style-utilities': 8.1.3_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/style-utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 '@types/react': 16.14.8 react: 16.14.0 @@ -2754,7 +2754,7 @@ packages: '@types/react': '>=16.8.0 <18.0.0' react: '>=16.8.0 <18.0.0' resolution: - integrity: sha512-nu26n4gXqb/a+fX8h/pD2zpvaOl2jzwLPAwsu/ovnPRASxu6orb1b2fpe49Ln/mi57pwOCfQLmMZmpGeDwtItA== + integrity: sha512-wypXQzr/QVMhvGlc/JekFr7V3zNvQAGhs3izMpk+onRv0RoB7GQK00LRG6KK0fHBOrvoqQRE65Db+/nsRO32/g== /@fluentui/keyboard-key/0.2.17: dependencies: tslib: 1.14.1 @@ -2776,7 +2776,7 @@ packages: integrity: sha512-r0EGKfJUjZw9yJ21VMXjaqLoujvBkRIWRQVMM6CUxbY+02dhKUt6Sa9QA/8m8klsEWBENOaKZ4uX5U2vWWBlyw== /@fluentui/react-bindings/0.51.7_ef89b9d44e70903856bf583071c7248b: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@emotion/serialize': 0.11.16 '@fluentui/accessibility': 0.51.7 '@fluentui/keyboard-key': 0.2.17 @@ -2807,7 +2807,7 @@ packages: integrity: sha512-Gp+70GYZHtrQz/480kR+qII9RMHXM+dorKnVj6D7C1/3r6iBoGPVGgRZROuOG1YOmlrM8nbZDb1VX1EqKCdNlQ== /@fluentui/react-component-event-listener/0.51.7_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 dev: false @@ -2818,7 +2818,7 @@ packages: integrity: sha512-NjVm+crN0T9A7vITL8alZeHnuV8zi2gos0nezU/2YOxaUAB9E4zKiPxt/6k5U50rJs/gj8Nu45iXxnjO41HbZg== /@fluentui/react-component-nesting-registry/0.51.7_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 prop-types: 15.7.2 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -2830,7 +2830,7 @@ packages: integrity: sha512-uuzYi8/SWAhj78z6nirDGWZYRJEmXqmeBZP+KR58m/kmQ1nq5YMZADw06JlrUqW/UMk6SKkUpHRAKYrT4NGJkw== /@fluentui/react-component-ref/0.51.7_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 react-is: 16.13.1 @@ -2859,19 +2859,19 @@ packages: integrity: sha512-YutUjnFzDrd5gfpi2ID0GqrGZTKTckWUqdStScIe/P9oG5IaeHN49JMQmOrSq3tFAW/gnt1fFKddhrxdCO3vBA== /@fluentui/react-context-selector/0.51.7_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 react: 16.14.0 dev: false peerDependencies: react: ^16.8.0 resolution: integrity: sha512-WLadFGSg9RHjlKGFK2WCV7eqKwZYOEOr6WHPmCTE8fBjDUbabsHU4U9J4OePPCIq/hSr0/8EfNPIjHqzXwofrg== - /@fluentui/react-focus/8.1.4_807f3d8e201fbb23c29c1613533607c0: + /@fluentui/react-focus/8.1.3_807f3d8e201fbb23c29c1613533607c0: dependencies: '@fluentui/keyboard-key': 0.3.2 '@fluentui/merge-styles': 8.1.2 '@fluentui/set-version': 8.1.2 - '@fluentui/style-utilities': 8.1.3_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/style-utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 '@types/react': 16.14.8 react: 16.14.0 @@ -2881,7 +2881,7 @@ packages: '@types/react': '>=16.8.0 <18.0.0' react: '>=16.8.0 <18.0.0' resolution: - integrity: sha512-bzWU5rl7ROU3FYDmQE1HaxYeKgRQJJLllH1/nIZe4XoG8oXgq7yym9tnj0JfbkI5XlVdUTPMZ27Cao72/hX/uA== + integrity: sha512-plfqp035NsgmQtV073lrm8g1gJSs2SAestKsB6vjmgXYr5Q23K4riNlSfCbAPEgEb8igq5vCrRaXjTxgSpFw8Q== /@fluentui/react-hooks/8.2.2_807f3d8e201fbb23c29c1613533607c0: dependencies: '@fluentui/react-window-provider': 2.1.2_807f3d8e201fbb23c29c1613533607c0 @@ -2898,7 +2898,7 @@ packages: integrity: sha512-Ld5v2DKAWsZE3S4gEE44biFOK73rzaCts2fpDiaCOFvhlSvs/KK8DoWp+Rl4DQM3BYv4zIyXC5lIHbzDPnFf2Q== /@fluentui/react-icons-northstar/0.51.7_ef89b9d44e70903856bf583071c7248b: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@fluentui/accessibility': 0.51.7 '@fluentui/react-bindings': 0.51.7_ef89b9d44e70903856bf583071c7248b '@fluentui/styles': 0.51.7 @@ -2919,7 +2919,7 @@ packages: integrity: sha512-lB2woxoFK7qQj+6F4HCKZYj43Q+Rs4koDdAqeCSkih7qwAvBY/PYS81MXAKXjRwuo4s9QNT84ZKvu7qN3YmSQQ== /@fluentui/react-northstar-fela-renderer/0.51.7_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@fluentui/react-northstar-styles-renderer': 0.51.7_react@16.14.0 '@fluentui/styles': 0.51.7 css-in-js-utils: 3.1.0 @@ -2943,7 +2943,7 @@ packages: integrity: sha512-/8nSoZVxhgzcK4DWqp0c+2PV2VZybF4I0DhJYVb352wH+tU4PNaL5eP6gP58MHCsO6192KnBYC2MZEg+0aXHlw== /@fluentui/react-northstar-styles-renderer/0.51.7_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@fluentui/styles': 0.51.7 react: 16.14.0 dev: false @@ -2953,7 +2953,7 @@ packages: integrity: sha512-oah7sOstbrbx8guepPpvOmLD65xmwgx9rN0KjogOxDiMYidN4eaEAVl36mQfWs1wE+Mo5iAPRj2eNtqX4bVUqg== /@fluentui/react-northstar/0.51.7_ef89b9d44e70903856bf583071c7248b: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@fluentui/accessibility': 0.51.7 '@fluentui/dom-utilities': 1.1.2 '@fluentui/keyboard-key': 0.2.17 @@ -2988,7 +2988,7 @@ packages: integrity: sha512-dwOUQqCgWqqO7YL/SodXM30ue+PLxdvmU8qv2uWc04XwzckiQuFaPU9kRWI6LgQUaN9VgqglO+CmfgrmLI1PmA== /@fluentui/react-proptypes/0.51.7: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 lodash: 4.17.21 prop-types: 15.7.2 dev: false @@ -3025,17 +3025,17 @@ packages: /@fluentui/react/8.17.4_ef89b9d44e70903856bf583071c7248b: dependencies: '@fluentui/date-time-utilities': 8.1.2 - '@fluentui/font-icons-mdl2': 8.1.3_807f3d8e201fbb23c29c1613533607c0 - '@fluentui/foundation-legacy': 8.1.3_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/font-icons-mdl2': 8.1.2_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/foundation-legacy': 8.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/merge-styles': 8.1.2 - '@fluentui/react-focus': 8.1.4_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/react-focus': 8.1.3_807f3d8e201fbb23c29c1613533607c0 '@fluentui/react-hooks': 8.2.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/react-window-provider': 2.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/set-version': 8.1.2 - '@fluentui/style-utilities': 8.1.3_807f3d8e201fbb23c29c1613533607c0 + '@fluentui/style-utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/theme': 2.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 - '@microsoft/load-themed-styles': 1.10.186 + '@microsoft/load-themed-styles': 1.10.181 '@types/react': 16.14.8 '@types/react-dom': 16.9.13 react: 16.14.0 @@ -3068,27 +3068,27 @@ packages: integrity: sha512-uCPwdBsahBbLuN8UkbmXtp+u8Gxqtm5+fZ1UuOUBhEL7MKl86LrWmxoy4IW3JD2rcbaYpCb7KFpnMB5s0Nx0ZA== /@fluentui/state/0.51.7: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false resolution: integrity: sha512-sTCv3hnEpmWW/hjw+vmloaslNnYmFYeN8J9uJzYBGVi9NKKLvXtMKeoaikAXBVpnmMknl67VCapjauF0NxXDjQ== - /@fluentui/style-utilities/8.1.3_807f3d8e201fbb23c29c1613533607c0: + /@fluentui/style-utilities/8.1.2_807f3d8e201fbb23c29c1613533607c0: dependencies: '@fluentui/merge-styles': 8.1.2 '@fluentui/set-version': 8.1.2 '@fluentui/theme': 2.1.2_807f3d8e201fbb23c29c1613533607c0 '@fluentui/utilities': 8.1.2_807f3d8e201fbb23c29c1613533607c0 - '@microsoft/load-themed-styles': 1.10.186 + '@microsoft/load-themed-styles': 1.10.181 tslib: 2.3.0 dev: false peerDependencies: '@types/react': '*' react: '*' resolution: - integrity: sha512-hc4rmpr4iVeFroG9cXaLLpXvrhW5b9kBmvXmvk/6LbJ1ne/47/E99dgmLhPjWyYUQFVF2jvdLug+681brXhQ+A== + integrity: sha512-kr4kkirxVtGW/tP8pPtJ5bZ+ZxSovTCpkxWvIzQIwhshdJT+oflQfeoWFUbeFRoG4xJu+FJWNYoPfoZMx8yk6Q== /@fluentui/styles/0.51.7: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 csstype: 2.6.17 lodash: 4.17.21 dev: false @@ -3189,7 +3189,7 @@ packages: /@jest/console/26.6.2: dependencies: '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 chalk: 4.1.1 jest-message-util: 26.6.2 jest-util: 26.6.2 @@ -3241,7 +3241,7 @@ packages: '@jest/test-result': 26.6.2 '@jest/transform': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 ansi-escapes: 4.3.2 chalk: 4.1.1 exit: 0.1.2 @@ -3276,7 +3276,7 @@ packages: '@jest/test-result': 26.6.2 '@jest/transform': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 ansi-escapes: 4.3.2 chalk: 4.1.1 exit: 0.1.2 @@ -3320,7 +3320,7 @@ packages: dependencies: '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 jest-mock: 26.6.2 dev: false engines: @@ -3343,7 +3343,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@sinonjs/fake-timers': 6.0.1 - '@types/node': 15.12.4 + '@types/node': 15.12.2 jest-message-util: 26.6.2 jest-mock: 26.6.2 jest-util: 26.6.2 @@ -3519,11 +3519,11 @@ packages: integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== /@jest/transform/25.4.0: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/types': 25.5.0 babel-plugin-istanbul: 6.0.0 chalk: 3.0.0 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.6 jest-haste-map: 25.5.1 @@ -3542,11 +3542,11 @@ packages: integrity: sha512-t1w2S6V1sk++1HHsxboWxPEuSpN8pxEvNrZN+Ud/knkROWtf8LeUmz73A4ezE8476a5AM00IZr9a8FO9x1+j3g== /@jest/transform/25.5.1: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/types': 25.5.0 babel-plugin-istanbul: 6.0.0 chalk: 3.0.0 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.6 jest-haste-map: 25.5.1 @@ -3565,11 +3565,11 @@ packages: integrity: sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== /@jest/transform/26.6.2: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/types': 26.6.2 babel-plugin-istanbul: 6.0.0 chalk: 4.1.1 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.6 jest-haste-map: 26.6.2 @@ -3600,7 +3600,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.3 '@types/istanbul-reports': 3.0.1 - '@types/node': 15.12.4 + '@types/node': 15.12.2 '@types/yargs': 15.0.13 chalk: 4.1.1 dev: false @@ -3794,10 +3794,10 @@ packages: dev: false resolution: integrity: sha512-Ot53G927ykMF8cQ3/zq4foZtdk+Tt1YpX7aUTHxBU7UHNdkEiBvBfZSq+rnlUmKCJ19VatwPG4mNzvcGpBj4og== - /@microsoft/load-themed-styles/1.10.186: + /@microsoft/load-themed-styles/1.10.181: dev: false resolution: - integrity: sha512-1EmEk1+ms0637dejhkMpSnWvAkZa+L85qUmsQClK+ClAlp4jmWbolWJIirmCpcUbTwkr1I/O6SAFiqKkVkhB5A== + integrity: sha512-HkABSVIAL+ulsDMy7s28rwhvl0ODq4QF/KvFwRngZJRPBKNjpcf1uFLCluBcEngnl4LSArCCuM7ozND7t8CMDA== /@microsoft/tsdoc-config/0.15.2: dependencies: '@microsoft/tsdoc': 0.13.2 @@ -3865,7 +3865,7 @@ packages: integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== /@octokit/auth-token/2.4.5: dependencies: - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 dev: false resolution: integrity: sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== @@ -3875,7 +3875,7 @@ packages: '@octokit/graphql': 4.6.4 '@octokit/request': 5.6.0 '@octokit/request-error': 2.1.0 - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 before-after-hook: 2.2.2 universal-user-agent: 6.0.0 dev: false @@ -3883,7 +3883,7 @@ packages: integrity: sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== /@octokit/endpoint/6.0.12: dependencies: - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 is-plain-object: 5.0.0 universal-user-agent: 6.0.0 dev: false @@ -3892,19 +3892,19 @@ packages: /@octokit/graphql/4.6.4: dependencies: '@octokit/request': 5.6.0 - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 universal-user-agent: 6.0.0 dev: false resolution: integrity: sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg== - /@octokit/openapi-types/7.3.4: + /@octokit/openapi-types/7.3.2: dev: false resolution: - integrity: sha512-binmLrMQWBG0CvUE/jS3/XXrZbX3oN/6gF7ocSsb/ZJ0xfox2isJN4ZhGeL91SDJVzFK7XuUYBm2mlIDedkxsg== + integrity: sha512-oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA== /@octokit/plugin-paginate-rest/2.13.5_@octokit+core@3.5.1: dependencies: '@octokit/core': 3.5.1 - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 dev: false peerDependencies: '@octokit/core': '>=2' @@ -3921,7 +3921,7 @@ packages: /@octokit/plugin-rest-endpoint-methods/4.8.0_@octokit+core@3.5.1: dependencies: '@octokit/core': 3.5.1 - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 deprecation: 2.3.1 dev: false peerDependencies: @@ -3930,7 +3930,7 @@ packages: integrity: sha512-2zRpXDveJH8HsXkeeMtRW21do8wuSxVn1xXFdvhILyxlLWqGQrdJUA1/dk5DM7iAAYvwT/P3bDOLs90yL4S2AA== /@octokit/request-error/2.1.0: dependencies: - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 deprecation: 2.3.1 once: 1.4.0 dev: false @@ -3940,7 +3940,7 @@ packages: dependencies: '@octokit/endpoint': 6.0.12 '@octokit/request-error': 2.1.0 - '@octokit/types': 6.16.6 + '@octokit/types': 6.16.4 is-plain-object: 5.0.0 node-fetch: 2.6.1 universal-user-agent: 6.0.0 @@ -3956,12 +3956,12 @@ packages: dev: false resolution: integrity: sha512-MBlZl0KeuvFMJ3210hG5xhh/jtYmMDLd5WmO49Wg4Rfg0odeivntWAyq3KofJDP2G8jskCaaOaZBKo0TeO9tFA== - /@octokit/types/6.16.6: + /@octokit/types/6.16.4: dependencies: - '@octokit/openapi-types': 7.3.4 + '@octokit/openapi-types': 7.3.2 dev: false resolution: - integrity: sha512-PrEGjMnEhLlNttsuLadEWqXdMYJX3icHHaRs/ChJebRT79VDh/cNkk8bURx05BEEwr7QvaLsRzjt3hNxUJZfXA== + integrity: sha512-UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A== /@opencensus/web-types/0.0.7: dev: false engines: @@ -4151,19 +4151,19 @@ packages: rollup: ^1.20.0||^2.0.0 resolution: integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - /@rushstack/eslint-config/2.3.4_eslint@7.29.0+typescript@4.1.5: + /@rushstack/eslint-config/2.3.4_eslint@7.28.0+typescript@4.1.5: dependencies: '@rushstack/eslint-patch': 1.0.6 - '@rushstack/eslint-plugin': 0.7.3_eslint@7.29.0+typescript@4.1.5 - '@rushstack/eslint-plugin-packlets': 0.2.2_eslint@7.29.0+typescript@4.1.5 - '@rushstack/eslint-plugin-security': 0.1.4_eslint@7.29.0+typescript@4.1.5 - '@typescript-eslint/eslint-plugin': 3.4.0_f278cfbbfdb04a859ad6b18b492f4bb0 - '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.29.0+typescript@4.1.5 - '@typescript-eslint/parser': 3.4.0_eslint@7.29.0+typescript@4.1.5 + '@rushstack/eslint-plugin': 0.7.3_eslint@7.28.0+typescript@4.1.5 + '@rushstack/eslint-plugin-packlets': 0.2.2_eslint@7.28.0+typescript@4.1.5 + '@rushstack/eslint-plugin-security': 0.1.4_eslint@7.28.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 3.4.0_b3aef6becf5c643d072ff73f548c250c + '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.28.0+typescript@4.1.5 + '@typescript-eslint/parser': 3.4.0_eslint@7.28.0+typescript@4.1.5 '@typescript-eslint/typescript-estree': 3.4.0_typescript@4.1.5 - eslint: 7.29.0 + eslint: 7.28.0 eslint-plugin-promise: 4.2.1 - eslint-plugin-react: 7.20.6_eslint@7.29.0 + eslint-plugin-react: 7.20.6_eslint@7.28.0 eslint-plugin-tsdoc: 0.2.14 typescript: 4.1.5 dev: false @@ -4176,33 +4176,33 @@ packages: dev: false resolution: integrity: sha512-Myxw//kzromB9yWgS8qYGuGVf91oBUUJpNvy5eM50sqvmKLbKjwLxohJnkWGTeeI9v9IBMtPLxz5Gc60FIfvCA== - /@rushstack/eslint-plugin-packlets/0.2.2_eslint@7.29.0+typescript@4.1.5: + /@rushstack/eslint-plugin-packlets/0.2.2_eslint@7.28.0+typescript@4.1.5: dependencies: '@rushstack/tree-pattern': 0.2.1 - '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.29.0+typescript@4.1.5 - eslint: 7.29.0 + '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.28.0+typescript@4.1.5 + eslint: 7.28.0 dev: false peerDependencies: eslint: ^6.0.0 || ^7.0.0 typescript: '*' resolution: integrity: sha512-8kKs5fq9Mm9sP4W7ETbp48eH6iECfXDKP1mdg2iBPl8CaZZHMzVYC2vQSSSOOMv+OV23LreRFWV0LlllEDuD3Q== - /@rushstack/eslint-plugin-security/0.1.4_eslint@7.29.0+typescript@4.1.5: + /@rushstack/eslint-plugin-security/0.1.4_eslint@7.28.0+typescript@4.1.5: dependencies: '@rushstack/tree-pattern': 0.2.1 - '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.29.0+typescript@4.1.5 - eslint: 7.29.0 + '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.28.0+typescript@4.1.5 + eslint: 7.28.0 dev: false peerDependencies: eslint: ^6.0.0 || ^7.0.0 typescript: '*' resolution: integrity: sha512-AiNUS5H4/RvyNI9FDKdd4ya3PovjpPVU9Pr7He1JPvqLHOCT8P9n5YpRHjxx0ftD77mDLT5HrcOKjxTW7BZQHg== - /@rushstack/eslint-plugin/0.7.3_eslint@7.29.0+typescript@4.1.5: + /@rushstack/eslint-plugin/0.7.3_eslint@7.28.0+typescript@4.1.5: dependencies: '@rushstack/tree-pattern': 0.2.1 - '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.29.0+typescript@4.1.5 - eslint: 7.29.0 + '@typescript-eslint/experimental-utils': 3.10.1_eslint@7.28.0+typescript@4.1.5 + eslint: 7.28.0 dev: false peerDependencies: eslint: ^6.0.0 || ^7.0.0 @@ -4224,7 +4224,7 @@ packages: '@microsoft/api-extractor': 7.13.4 '@rushstack/heft': 0.28.0 eslint: 7.12.1 - typescript: 3.9.10 + typescript: 3.9.9 dev: false peerDependencies: '@rushstack/heft': ^0.28.0 @@ -4367,7 +4367,7 @@ packages: '@storybook/components': 6.1.21_d225d9c534f73d28105b13f0a78c1790 '@storybook/core-events': 6.1.21 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 - core-js: 3.15.1 + core-js: 3.14.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -4400,7 +4400,7 @@ packages: '@storybook/components': 6.1.21_d225d9c534f73d28105b13f0a78c1790 '@storybook/core-events': 6.1.21 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 memoizerific: 1.11.3 react: 16.14.0 @@ -4428,7 +4428,7 @@ packages: '@storybook/components': 6.1.21_d225d9c534f73d28105b13f0a78c1790 '@storybook/node-logger': 6.1.21 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 - core-js: 3.15.1 + core-js: 3.14.0 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 ts-dedent: 2.1.1 @@ -4446,11 +4446,11 @@ packages: integrity: sha512-IJgZWD2E9eLKj8DJLA9lT63N4jPfVneFJ05gnPco01ZJCEiDAo7babP5Ns2UTJDUaQEtX0m04UoIkidcteWKsA== /@storybook/addon-docs/6.1.21_0ca509be832a59f2b37650b68fcb6e32: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/generator': 7.14.5 - '@babel/parser': 7.14.7 - '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.6 - '@babel/preset-env': 7.13.10_@babel+core@7.14.6 + '@babel/parser': 7.14.5 + '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.5 + '@babel/preset-env': 7.13.10_@babel+core@7.14.5 '@jest/transform': 26.6.2 '@mdx-js/loader': 1.6.22_react@16.14.0 '@mdx-js/mdx': 1.6.22 @@ -4471,7 +4471,7 @@ packages: acorn-jsx: 5.3.1_acorn@7.4.1 acorn-walk: 7.2.0 babel-loader: 8.1.0_1c79d8f1c22e4359b44756162b1aff62 - core-js: 3.15.1 + core-js: 3.14.0 doctrine: 3.0.0 escodegen: 1.14.3 fast-deep-equal: 3.1.3 @@ -4529,7 +4529,7 @@ packages: '@storybook/api': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/node-logger': 6.1.21 babel-loader: 8.1.0_1c79d8f1c22e4359b44756162b1aff62 - core-js: 3.15.1 + core-js: 3.14.0 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 regenerator-runtime: 0.13.7 @@ -4566,7 +4566,7 @@ packages: '@storybook/core-events': 6.1.21 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 copy-to-clipboard: 3.3.1 - core-js: 3.15.1 + core-js: 3.14.0 escape-html: 1.0.3 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -4599,7 +4599,7 @@ packages: '@storybook/csf': 0.0.1 '@storybook/router': 6.1.21_react-dom@16.13.1+react@16.14.0 '@types/qs': 6.9.6 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 prop-types: 15.7.2 qs: 6.10.1 @@ -4629,7 +4629,7 @@ packages: '@types/jest': 25.2.3 '@types/jest-specific-snapshot': 0.5.5 babel-plugin-require-context-hook: 1.0.0 - core-js: 3.15.1 + core-js: 3.14.0 glob: 7.1.7 global: 4.4.0 jest-specific-snapshot: 4.0.0_jest@26.6.0 @@ -4673,7 +4673,7 @@ packages: '@storybook/api': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/client-api': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/components': 6.1.21_d225d9c534f73d28105b13f0a78c1790 - core-js: 3.15.1 + core-js: 3.14.0 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 dev: false @@ -4696,7 +4696,7 @@ packages: '@storybook/components': 6.1.21_d225d9c534f73d28105b13f0a78c1790 '@storybook/core-events': 6.1.21 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.7.2 @@ -4723,7 +4723,7 @@ packages: '@storybook/core-events': 6.1.21 '@storybook/router': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -4734,15 +4734,15 @@ packages: react-dom: ^16.8.0 || ^17.0.0 resolution: integrity: sha512-xo5TGu9EZVCqgh3D1veVnfuGzyKDWWsvOMo18phVqRxj21G3/+hScVyfIYwNTv7Ys5/Ahp9JxJUMXL3V3ny+tw== - /@storybook/addons/6.3.0_react-dom@16.13.1+react@16.14.0: - dependencies: - '@storybook/api': 6.3.0_react-dom@16.13.1+react@16.14.0 - '@storybook/channels': 6.3.0 - '@storybook/client-logger': 6.3.0 - '@storybook/core-events': 6.3.0 - '@storybook/router': 6.3.0_react-dom@16.13.1+react@16.14.0 - '@storybook/theming': 6.3.0_react-dom@16.13.1+react@16.14.0 - core-js: 3.15.1 + /@storybook/addons/6.2.9_react-dom@16.13.1+react@16.14.0: + dependencies: + '@storybook/api': 6.2.9_react-dom@16.13.1+react@16.14.0 + '@storybook/channels': 6.2.9 + '@storybook/client-logger': 6.2.9 + '@storybook/core-events': 6.2.9 + '@storybook/router': 6.2.9_react-dom@16.13.1+react@16.14.0 + '@storybook/theming': 6.2.9_react-dom@16.13.1+react@16.14.0 + core-js: 3.14.0 global: 4.4.0 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -4752,7 +4752,7 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 resolution: - integrity: sha512-/dcq20HtdSw5+cG8znR59Y/uv2zCR2VjRK3N52IkGWk162b/UbSjjL0PhNnnQFGpH9Fruft6mqvjTAKT41kmJw== + integrity: sha512-GnmEKbJwiN1jncN9NSA8CuR1i2XAlasPcl/Zn0jkfV9WitQeczVcJCPw86SGH84AD+tTBCyF2i9UC0KaOV1YBQ== /@storybook/api/6.1.21_react-dom@16.13.1+react@16.14.0: dependencies: '@reach/router': 1.3.4_react-dom@16.13.1+react@16.14.0 @@ -4764,7 +4764,7 @@ packages: '@storybook/semver': 7.3.2 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 '@types/reach__router': 1.3.8 - core-js: 3.15.1 + core-js: 3.14.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -4782,18 +4782,18 @@ packages: react-dom: ^16.8.0 || ^17.0.0 resolution: integrity: sha512-QjZk70VSXMw/wPPoWdMp5Bl9VmkfmGhIz8PALrFLLEZHjzptpfZE2qkGEEJHG0NAksFUv6NxGki2/632dzR7Ug== - /@storybook/api/6.3.0_react-dom@16.13.1+react@16.14.0: + /@storybook/api/6.2.9_react-dom@16.13.1+react@16.14.0: dependencies: '@reach/router': 1.3.4_react-dom@16.13.1+react@16.14.0 - '@storybook/channels': 6.3.0 - '@storybook/client-logger': 6.3.0 - '@storybook/core-events': 6.3.0 + '@storybook/channels': 6.2.9 + '@storybook/client-logger': 6.2.9 + '@storybook/core-events': 6.2.9 '@storybook/csf': 0.0.1 - '@storybook/router': 6.3.0_react-dom@16.13.1+react@16.14.0 + '@storybook/router': 6.2.9_react-dom@16.13.1+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.0_react-dom@16.13.1+react@16.14.0 + '@storybook/theming': 6.2.9_react-dom@16.13.1+react@16.14.0 '@types/reach__router': 1.3.8 - core-js: 3.15.1 + core-js: 3.14.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -4811,13 +4811,13 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 resolution: - integrity: sha512-swPMcQadLDRTnMjL9dwY6K1zXHn3KcAa3euvSHd1R4OKXTSBBj1zHvIaOrq6yHz7RIYOACmZlEV3CUru9FlvEA== + integrity: sha512-okkA3HAScE9tGnYBrjTOcgzT+L1lRHNoEh3ZfGgh1u/XNEyHGNkj4grvkd6nX7BzRcYQ/l2VkcKCqmOjUnSkVQ== /@storybook/channel-postmessage/6.1.21: dependencies: '@storybook/channels': 6.1.21 '@storybook/client-logger': 6.1.21 '@storybook/core-events': 6.1.21 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 qs: 6.10.1 telejson: 5.3.3 @@ -4826,20 +4826,20 @@ packages: integrity: sha512-SuI/ffqcPT02VNda32k8V0D4XpLm5bIy8CLIs0OAnQg+zt5KjGBpQBngk3q4EaAiOoAhbMWAQiUzRUXfrgkgXg== /@storybook/channels/6.1.21: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 ts-dedent: 2.1.1 util-deprecate: 1.0.2 dev: false resolution: integrity: sha512-7WoizMjyHqCyvcWncLexSg9FLPIErWAZL4NvluEthwsHSO2sDybn9mh1pzsFHdYMuTP6ml06Zt9ayWMtIveHDg== - /@storybook/channels/6.3.0: + /@storybook/channels/6.2.9: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 ts-dedent: 2.1.1 util-deprecate: 1.0.2 dev: false resolution: - integrity: sha512-E+SCQLSIlCaOGKEkZ8rFKNyH24/N4IA6h+EDF+9mhw3yT4iv7NCoswCgqX7JhyhSjWkM01onhuMVUVKVvi7CSw== + integrity: sha512-6dC8Fb2ipNyOQXnUZMDeEUaJGH5DMLzyHlGLhVyDtrO5WR6bO8mQdkzf4+5dSKXgCBNX0BSkssXth4pDjn18rg== /@storybook/client-api/6.1.21_react-dom@16.13.1+react@16.14.0: dependencies: '@storybook/addons': 6.1.21_react-dom@16.13.1+react@16.14.0 @@ -4850,7 +4850,7 @@ packages: '@storybook/csf': 0.0.1 '@types/qs': 6.9.6 '@types/webpack-env': 1.16.0 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 lodash: 4.17.21 memoizerific: 1.11.3 @@ -4870,18 +4870,18 @@ packages: integrity: sha512-uLFXQ5z1LLWYnw1w+YUJPzIPRVlwCCvM2Si37aHDZn1F3fnbMg+huEhEqIQ1TTTw3wiJoTeGuShYvqyaiNwq/w== /@storybook/client-logger/6.1.21: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 dev: false resolution: integrity: sha512-QJV+gnVM2fQ4M7lSkRLCXkOw/RU+aEtUefo9TAnXxPHK3UGG+DyvLmha6fHGaz9GAcFxyWtgqCyVOhMe03Q35g== - /@storybook/client-logger/6.3.0: + /@storybook/client-logger/6.2.9: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 dev: false resolution: - integrity: sha512-x/y820f/2Jm6RW5TxRv7IlbF6zWpTkHoajfwYuTpK/OXvK5gx6dwXGdgjNoaAGofGRz5SVjDjTDPOcd5X5AUPw== + integrity: sha512-IfOQZuvpjh66qBInQCJOb9S0dTGpzZ/Cxlcvokp+PYt95KztaWN3mPm+HaDQCeRsrWNe0Bpm1zuickcJ6dBOXg== /@storybook/components/6.1.21_d225d9c534f73d28105b13f0a78c1790: dependencies: '@popperjs/core': 2.9.2 @@ -4891,7 +4891,7 @@ packages: '@types/overlayscrollbars': 1.12.0 '@types/react-color': 3.0.4 '@types/react-syntax-highlighter': 11.0.4 - core-js: 3.15.1 + core-js: 3.14.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -4914,17 +4914,17 @@ packages: react-dom: ^16.8.0 || ^17.0.0 resolution: integrity: sha512-2NjkyS1yeYXlRY7azt88woqd6eqJA00oloIxgMAFLVpRmvFxoHalY61wNrvxl2QSu9cNofp984AbGc8gPbizBA== - /@storybook/components/6.3.0_d225d9c534f73d28105b13f0a78c1790: + /@storybook/components/6.2.9_d225d9c534f73d28105b13f0a78c1790: dependencies: '@popperjs/core': 2.9.2 - '@storybook/client-logger': 6.3.0 + '@storybook/client-logger': 6.2.9 '@storybook/csf': 0.0.1 - '@storybook/theming': 6.3.0_react-dom@16.13.1+react@16.14.0 + '@storybook/theming': 6.2.9_react-dom@16.13.1+react@16.14.0 '@types/color-convert': 2.0.0 '@types/overlayscrollbars': 1.12.0 '@types/react-syntax-highlighter': 11.0.5 color-convert: 2.0.1 - core-js: 3.15.1 + core-js: 3.14.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -4948,43 +4948,43 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 resolution: - integrity: sha512-TDcazQAtNgE1E33jKKABx51XpvWyXMcJZFWA0d5wu8XrElrL1PuZqz7dPePoWKGMfTaPYWP6rRyDg4Svv36j+A== + integrity: sha512-hnV1MI2aB2g1sJ7NJphpxi7TwrMZQ/tpCJeHnkjmzyC6ez1MXqcBXGrEEdSXzRfAxjQTOEpu6H1mnns0xMP0Ag== /@storybook/core-events/6.1.21: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 dev: false resolution: integrity: sha512-KWqnh1C7M1pT//WfQb3AD60yTR8jL48AfaeLGto2gO9VK7VVgj/EGsrXZP/GTL90ygyExbbBI5gkr7EBTu/HYw== - /@storybook/core-events/6.3.0: + /@storybook/core-events/6.2.9: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 dev: false resolution: - integrity: sha512-ZGTm5nQvFLlc2LVgoDyxo99MbQcFqQzkxIQReFkO7hPwwkcjcwmdBtnlmkn9/p5QQ5/8aU0k+ceCkrBNu1M83w== + integrity: sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ== /@storybook/core/6.1.21_b6e446b36ff583f2c06e3940b2876b42: dependencies: - '@babel/core': 7.14.6 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-decorators': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-export-default-from': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.14.6 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.14.6 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.6 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.14.6 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.6 - '@babel/preset-env': 7.13.10_@babel+core@7.14.6 - '@babel/preset-react': 7.14.5_@babel+core@7.14.6 - '@babel/preset-typescript': 7.14.5_@babel+core@7.14.6 - '@babel/register': 7.14.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-decorators': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-export-default-from': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-object-rest-spread': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-destructuring': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-spread': 7.14.5_@babel+core@7.14.5 + '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.5 + '@babel/preset-env': 7.13.10_@babel+core@7.14.5 + '@babel/preset-react': 7.14.5_@babel+core@7.14.5 + '@babel/preset-typescript': 7.14.5_@babel+core@7.14.5 + '@babel/register': 7.14.5_@babel+core@7.14.5 '@storybook/addons': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/api': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/channel-postmessage': 6.1.21 @@ -5005,7 +5005,7 @@ packages: airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 autoprefixer: 9.8.6 - babel-loader: 8.1.0_44cd8e8988e8f6bdf4058c352d4e72dd + babel-loader: 8.1.0_802eaa88f56443e8614799ffa818327a babel-plugin-emotion: 10.2.2 babel-plugin-macros: 2.8.0 babel-preset-minify: 0.5.1 @@ -5015,7 +5015,7 @@ packages: chalk: 4.1.1 cli-table3: 0.6.0 commander: 5.1.0 - core-js: 3.15.1 + core-js: 3.14.0 cpy: 8.1.2 css-loader: 3.6.0_webpack@4.46.0 detect-port: 1.3.0 @@ -5084,7 +5084,7 @@ packages: dependencies: '@types/npmlog': 4.1.2 chalk: 4.1.1 - core-js: 3.15.1 + core-js: 3.14.0 npmlog: 4.1.2 pretty-hrtime: 1.0.3 dev: false @@ -5092,7 +5092,7 @@ packages: integrity: sha512-wQZZw4n1PG3kGOsczWCBC6+8RagYkrGYDqsVOpUcs5shGbPg5beCXDuzP4nxz2IlsoP9ZtTSaX741H791OIOjA== /@storybook/postinstall/6.1.21: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 dev: false resolution: integrity: sha512-mg3fNqdQYiz6ivQIU1WMKqtqrFt5GySmsPCar3Y+xOdMClmpx6pZYcpiN782h8CIFA1XnldGR3TKVtWP848qOg== @@ -5110,7 +5110,7 @@ packages: babel-plugin-add-react-displayname: 0.0.5 babel-plugin-named-asset-import: 0.3.7_@babel+core@7.13.10 babel-plugin-react-docgen: 4.2.1 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 lodash: 4.17.21 prop-types: 15.7.2 @@ -5138,7 +5138,7 @@ packages: dependencies: '@reach/router': 1.3.4_react-dom@16.13.1+react@16.14.0 '@types/reach__router': 1.3.8 - core-js: 3.15.1 + core-js: 3.14.0 global: 4.4.0 memoizerific: 1.11.3 qs: 6.10.1 @@ -5150,12 +5150,12 @@ packages: react-dom: ^16.8.0 || ^17.0.0 resolution: integrity: sha512-m75WvUhoCBWDVekICAdbkidji/w5hCjHo+M8L13UghpwXWEnyr4/QqvkOb/PcSC8aZzxeMqSCpRQ1o6LWULneg== - /@storybook/router/6.3.0_react-dom@16.13.1+react@16.14.0: + /@storybook/router/6.2.9_react-dom@16.13.1+react@16.14.0: dependencies: '@reach/router': 1.3.4_react-dom@16.13.1+react@16.14.0 - '@storybook/client-logger': 6.3.0 + '@storybook/client-logger': 6.2.9 '@types/reach__router': 1.3.8 - core-js: 3.15.1 + core-js: 3.14.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -5169,10 +5169,10 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 resolution: - integrity: sha512-RJcRVI6IqffLOU6k9GrlB3cXLLK5TRmFSIjwW3lEHVhj313e56uLRYTylT11aBf8bPEQ+MeQVe2sqQUBG3Ugng== + integrity: sha512-7Bn1OFoItCl8whXRT8N1qp1Lky7kzXJ3aslWp5E8HcM8rxh4OYXfbaeiyJEJxBTGC5zxgY+tAEXHFjsAviFROg== /@storybook/semver/7.3.2: dependencies: - core-js: 3.15.1 + core-js: 3.14.0 find-up: 4.1.0 dev: false engines: @@ -5185,7 +5185,7 @@ packages: '@storybook/addons': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/client-logger': 6.1.21 '@storybook/csf': 0.0.1 - core-js: 3.15.1 + core-js: 3.14.0 estraverse: 4.3.0 global: 4.4.0 loader-utils: 2.0.0 @@ -5201,7 +5201,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 resolution: integrity: sha512-eMbmQG3a/7SFxVN+KGJKfk4uxLqQz2Nk95zvHyRvoX15LRyMnFvmdvmULe5vwRev8Npd4AS0EZ37m3jAEcD0ig== - /@storybook/storybook-deployer/2.8.10: + /@storybook/storybook-deployer/2.8.8: dependencies: git-url-parse: 11.4.4 glob: 7.1.7 @@ -5211,14 +5211,14 @@ packages: dev: false hasBin: true resolution: - integrity: sha512-2uleH0AFuI98sdTkbyHt1BgPa0kmLxhC3zwfwtacE8FB+2ffdRdqBlp6GYDZ7CZ+R4B4XuPYhsgUKWkB+zngyQ== + integrity: sha512-nRdK7llDJR1ayWt1354lLsrPuKzVmLPk9kxOzMo2EirumMkyUNIdZH+voHdntUKkh+KuSOm7Q0OOoqlHZkY0vA== /@storybook/theming/6.1.21_react-dom@16.13.1+react@16.14.0: dependencies: '@emotion/core': 10.1.1_react@16.14.0 '@emotion/is-prop-valid': 0.8.8 '@emotion/styled': 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf '@storybook/client-logger': 6.1.21 - core-js: 3.15.1 + core-js: 3.14.0 deep-object-diff: 1.1.0 emotion-theming: 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf global: 4.4.0 @@ -5234,13 +5234,13 @@ packages: react-dom: ^16.8.0 || ^17.0.0 resolution: integrity: sha512-yq7+/mpdljRdSRJYw/In/9tnDGXIUDe//mhyMftFfrB2mq6zi1yAZpowCerWhiDE2ipGkrfzIYx/Sn7bcaXgqg== - /@storybook/theming/6.3.0_react-dom@16.13.1+react@16.14.0: + /@storybook/theming/6.2.9_react-dom@16.13.1+react@16.14.0: dependencies: '@emotion/core': 10.1.1_react@16.14.0 '@emotion/is-prop-valid': 0.8.8 '@emotion/styled': 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf - '@storybook/client-logger': 6.3.0 - core-js: 3.15.1 + '@storybook/client-logger': 6.2.9 + core-js: 3.14.0 deep-object-diff: 1.1.0 emotion-theming: 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf global: 4.4.0 @@ -5255,7 +5255,7 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 resolution: - integrity: sha512-Mtnq8qFv/TTtnl1sB6DGBCg/kJq7sR2e2uh/Uy2sHyksnhVITVJxEIFHSBo2L+IE6y0S2Oh6F9WdddWAO4Ao2g== + integrity: sha512-183oJW7AD7Fhqg5NT4ct3GJntwteAb9jZnQ6yhf9JSdY+fk8OhxRbPf7ov0au2gYACcGrWDd9K5pYQsvWlP5gA== /@storybook/ui/6.1.21_d225d9c534f73d28105b13f0a78c1790: dependencies: '@emotion/core': 10.1.1_react@16.14.0 @@ -5270,8 +5270,8 @@ packages: '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 '@types/markdown-to-jsx': 6.11.3 copy-to-clipboard: 3.3.1 - core-js: 3.15.1 - core-js-pure: 3.15.1 + core-js: 3.14.0 + core-js-pure: 3.14.0 downshift: 6.1.3_react@16.14.0 emotion-theming: 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf fuse.js: 3.6.1 @@ -5299,7 +5299,7 @@ packages: integrity: sha512-2nRb5egnSBKbosuR7g5PsuM4XnRLXZUf7TBjwT6eRlomnE2wrWM5DtTLpFeUpDob0SI5hPlOV1xCpPz3XmeyyA== /@testing-library/jest-dom/5.14.1: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@types/testing-library__jest-dom': 5.14.0 aria-query: 4.2.2 chalk: 3.0.0 @@ -5317,7 +5317,7 @@ packages: integrity: sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ== /@testing-library/react-hooks/3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@types/testing-library__react-hooks': 3.4.1 react: 16.14.0 react-test-renderer: 16.14.0_react@16.14.0 @@ -5339,7 +5339,7 @@ packages: integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== /@types/babel__core/7.1.14: dependencies: - '@babel/parser': 7.14.7 + '@babel/parser': 7.14.5 '@babel/types': 7.14.5 '@types/babel__generator': 7.6.2 '@types/babel__template': 7.4.0 @@ -5355,7 +5355,7 @@ packages: integrity: sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== /@types/babel__template/7.4.0: dependencies: - '@babel/parser': 7.14.7 + '@babel/parser': 7.14.5 '@babel/types': 7.14.5 dev: false resolution: @@ -5369,7 +5369,7 @@ packages: /@types/body-parser/1.19.0: dependencies: '@types/connect': 3.4.34 - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== @@ -5396,7 +5396,7 @@ packages: integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== /@types/connect/3.4.34: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== @@ -5452,7 +5452,7 @@ packages: integrity: sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew== /@types/express-serve-static-core/4.17.21: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 '@types/qs': 6.9.6 '@types/range-parser': 1.2.3 dev: false @@ -5474,13 +5474,13 @@ packages: /@types/glob/7.1.3: dependencies: '@types/minimatch': 3.0.4 - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== /@types/graceful-fs/4.1.5: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== @@ -5595,13 +5595,13 @@ packages: integrity: sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== /@types/morgan/1.9.2: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-edtGMEdit146JwwIeyQeHHg9yID4WSolQPxpEorHmN3KuytuCHyn2ELNr5Uxy8SerniFbbkmgKMrGM933am5BQ== /@types/node-fetch/2.5.10: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 form-data: 3.0.1 dev: false resolution: @@ -5610,14 +5610,14 @@ packages: dev: false resolution: integrity: sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== - /@types/node/14.17.4: + /@types/node/14.17.3: dev: false resolution: - integrity: sha512-8kQ3+wKGRNN0ghtEn7EGps/B8CzuBz1nXZEIGGLP2GnwbqYn4dbTs7k+VKLTq1HvZLRCIDtN3Snx1Ege8B7L5A== - /@types/node/15.12.4: + integrity: sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw== + /@types/node/15.12.2: dev: false resolution: - integrity: sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA== + integrity: sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== /@types/normalize-package-data/2.4.0: dev: false resolution: @@ -5652,7 +5652,7 @@ packages: integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== /@types/puppeteer/5.4.3: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-3nE8YgR9DIsgttLW+eJf6mnXxq8Ge+27m5SU3knWmrlfl6+KOG0Bf9f7Ua7K+C4BnaTMAh3/UpySqdAYvrsvjg== @@ -5729,7 +5729,7 @@ packages: integrity: sha512-d2gQQ0IL6hXLnoRfVYZukQNWHuVsE75DzFTLPUuyyEhJS8G2VvlE+qfQQ91SJjaMqlURRCNIsX7Jcsw6cEuJlA== /@types/resolve/1.17.1: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== @@ -5744,7 +5744,7 @@ packages: /@types/serve-static/1.13.9: dependencies: '@types/mime': 1.3.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== @@ -5771,7 +5771,7 @@ packages: /@types/superagent/4.1.11: dependencies: '@types/cookiejar': 2.1.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-cZkWBXZI+jESnUTp8RDGBmk1Zn2MkScP4V5bjD7DyqB7L0WNWpblh4KX5K/6aTqxFZMhfo1bhi2cwoAEDVBBJw== @@ -5803,7 +5803,7 @@ packages: integrity: sha512-G4JdzEcq61fUyV6wVW9ebHWEiLK2iQvaBuCHHn9eMSbZzVh4Z4wHnUGIvQOYCCYeu5DnUtFyNYuAAgbSaO/43Q== /@types/tunnel/0.0.1: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false resolution: integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A== @@ -5833,7 +5833,7 @@ packages: integrity: sha512-Cwg6+FQogkImRMF5nu5bKsLoZlwNCzpEyvxIzJM0ZgkkuKP7TrmQ3suOvNKKG1O4luxXZroKGo0mMC5EN5gPBA== /@types/webpack-sources/2.1.0: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 '@types/source-list-map': 0.1.2 source-map: 0.7.3 dev: false @@ -5841,7 +5841,7 @@ packages: integrity: sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== /@types/webpack/4.41.29: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 '@types/tapable': 1.0.7 '@types/uglify-js': 3.13.0 '@types/webpack-sources': 2.1.0 @@ -5862,17 +5862,17 @@ packages: integrity: sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== /@types/yauzl/2.9.1: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false optional: true resolution: integrity: sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== - /@typescript-eslint/eslint-plugin/3.4.0_f278cfbbfdb04a859ad6b18b492f4bb0: + /@typescript-eslint/eslint-plugin/3.4.0_b3aef6becf5c643d072ff73f548c250c: dependencies: - '@typescript-eslint/experimental-utils': 3.4.0_eslint@7.29.0+typescript@4.1.5 - '@typescript-eslint/parser': 3.4.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/experimental-utils': 3.4.0_eslint@7.28.0+typescript@4.1.5 + '@typescript-eslint/parser': 3.4.0_eslint@7.28.0+typescript@4.1.5 debug: 4.3.1 - eslint: 7.29.0 + eslint: 7.28.0 functional-red-black-tree: 1.0.1 regexpp: 3.2.0 semver: 7.3.5 @@ -5890,14 +5890,15 @@ packages: optional: true resolution: integrity: sha512-wfkpiqaEVhZIuQRmudDszc01jC/YR7gMSxa6ulhggAe/Hs0KVIuo9wzvFiDbG3JD5pRFQoqnf4m7REDsUvBnMQ== - /@typescript-eslint/eslint-plugin/4.28.0_a42a802b6e86eed0dcfd45d5bff65b40: + /@typescript-eslint/eslint-plugin/4.27.0_1d12bd368a44f7ab048f0db14465c56a: dependencies: - '@typescript-eslint/experimental-utils': 4.28.0_eslint@7.29.0+typescript@4.1.5 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 - '@typescript-eslint/scope-manager': 4.28.0 + '@typescript-eslint/experimental-utils': 4.27.0_eslint@7.28.0+typescript@4.1.5 + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 + '@typescript-eslint/scope-manager': 4.27.0 debug: 4.3.1 - eslint: 7.29.0 + eslint: 7.28.0 functional-red-black-tree: 1.0.1 + lodash: 4.17.21 regexpp: 3.2.0 semver: 7.3.5 tsutils: 3.21.0_typescript@4.1.5 @@ -5913,13 +5914,13 @@ packages: typescript: optional: true resolution: - integrity: sha512-KcF6p3zWhf1f8xO84tuBailV5cN92vhS+VT7UJsPzGBm9VnQqfI9AsiMUFUCYHTYPg1uCCo+HyiDnpDuvkAMfQ== - /@typescript-eslint/experimental-utils/3.10.1_eslint@7.29.0+typescript@4.1.5: + integrity: sha512-DsLqxeUfLVNp3AO7PC3JyaddmEHTtI9qTSAs+RB6ja27QvIM0TA8Cizn1qcS6vOu+WDLFJzkwkgweiyFhssDdQ== + /@typescript-eslint/experimental-utils/3.10.1_eslint@7.28.0+typescript@4.1.5: dependencies: '@types/json-schema': 7.0.7 '@typescript-eslint/types': 3.10.1 '@typescript-eslint/typescript-estree': 3.10.1_typescript@4.1.5 - eslint: 7.29.0 + eslint: 7.28.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 dev: false @@ -5930,11 +5931,11 @@ packages: typescript: '*' resolution: integrity: sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== - /@typescript-eslint/experimental-utils/3.4.0_eslint@7.29.0+typescript@4.1.5: + /@typescript-eslint/experimental-utils/3.4.0_eslint@7.28.0+typescript@4.1.5: dependencies: '@types/json-schema': 7.0.7 '@typescript-eslint/typescript-estree': 3.4.0_typescript@4.1.5 - eslint: 7.29.0 + eslint: 7.28.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 dev: false @@ -5945,15 +5946,15 @@ packages: typescript: '*' resolution: integrity: sha512-rHPOjL43lOH1Opte4+dhC0a/+ks+8gOBwxXnyrZ/K4OTAChpSjP76fbI8Cglj7V5GouwVAGaK+xVwzqTyE/TPw== - /@typescript-eslint/experimental-utils/4.28.0_eslint@7.29.0+typescript@4.1.5: + /@typescript-eslint/experimental-utils/4.27.0_eslint@7.28.0+typescript@4.1.5: dependencies: '@types/json-schema': 7.0.7 - '@typescript-eslint/scope-manager': 4.28.0 - '@typescript-eslint/types': 4.28.0 - '@typescript-eslint/typescript-estree': 4.28.0_typescript@4.1.5 - eslint: 7.29.0 + '@typescript-eslint/scope-manager': 4.27.0 + '@typescript-eslint/types': 4.27.0 + '@typescript-eslint/typescript-estree': 4.27.0_typescript@4.1.5 + eslint: 7.28.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@7.29.0 + eslint-utils: 3.0.0_eslint@7.28.0 dev: false engines: node: ^10.12.0 || >=12.0.0 @@ -5961,13 +5962,13 @@ packages: eslint: '*' typescript: '*' resolution: - integrity: sha512-9XD9s7mt3QWMk82GoyUpc/Ji03vz4T5AYlHF9DcoFNfJ/y3UAclRsfGiE2gLfXtyC+JRA3trR7cR296TEb1oiQ== - /@typescript-eslint/parser/3.4.0_eslint@7.29.0+typescript@4.1.5: + integrity: sha512-n5NlbnmzT2MXlyT+Y0Jf0gsmAQzCnQSWXKy4RGSXVStjDvS5we9IWbh7qRVKdGcxT0WYlgcCYUK/HRg7xFhvjQ== + /@typescript-eslint/parser/3.4.0_eslint@7.28.0+typescript@4.1.5: dependencies: '@types/eslint-visitor-keys': 1.0.0 - '@typescript-eslint/experimental-utils': 3.4.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/experimental-utils': 3.4.0_eslint@7.28.0+typescript@4.1.5 '@typescript-eslint/typescript-estree': 3.4.0_typescript@4.1.5 - eslint: 7.29.0 + eslint: 7.28.0 eslint-visitor-keys: 1.3.0 typescript: 4.1.5 dev: false @@ -5981,13 +5982,13 @@ packages: optional: true resolution: integrity: sha512-ZUGI/de44L5x87uX5zM14UYcbn79HSXUR+kzcqU42gH0AgpdB/TjuJy3m4ezI7Q/jk3wTQd755mxSDLhQP79KA== - /@typescript-eslint/parser/4.28.0_eslint@7.29.0+typescript@4.1.5: + /@typescript-eslint/parser/4.27.0_eslint@7.28.0+typescript@4.1.5: dependencies: - '@typescript-eslint/scope-manager': 4.28.0 - '@typescript-eslint/types': 4.28.0 - '@typescript-eslint/typescript-estree': 4.28.0_typescript@4.1.5 + '@typescript-eslint/scope-manager': 4.27.0 + '@typescript-eslint/types': 4.27.0 + '@typescript-eslint/typescript-estree': 4.27.0_typescript@4.1.5 debug: 4.3.1 - eslint: 7.29.0 + eslint: 7.28.0 typescript: 4.1.5 dev: false engines: @@ -5999,28 +6000,28 @@ packages: typescript: optional: true resolution: - integrity: sha512-7x4D22oPY8fDaOCvkuXtYYTQ6mTMmkivwEzS+7iml9F9VkHGbbZ3x4fHRwxAb5KeuSkLqfnYjs46tGx2Nour4A== - /@typescript-eslint/scope-manager/4.28.0: + integrity: sha512-XpbxL+M+gClmJcJ5kHnUpBGmlGdgNvy6cehgR6ufyxkEJMGP25tZKCaKyC0W/JVpuhU3VU1RBn7SYUPKSMqQvQ== + /@typescript-eslint/scope-manager/4.27.0: dependencies: - '@typescript-eslint/types': 4.28.0 - '@typescript-eslint/visitor-keys': 4.28.0 + '@typescript-eslint/types': 4.27.0 + '@typescript-eslint/visitor-keys': 4.27.0 dev: false engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: - integrity: sha512-eCALCeScs5P/EYjwo6se9bdjtrh8ByWjtHzOkC4Tia6QQWtQr3PHovxh3TdYTuFcurkYI4rmFsRFpucADIkseg== + integrity: sha512-DY73jK6SEH6UDdzc6maF19AHQJBFVRf6fgAXHPXCGEmpqD4vYgPEzqpFz1lf/daSbOcMpPPj9tyXXDPW2XReAw== /@typescript-eslint/types/3.10.1: dev: false engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: integrity: sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== - /@typescript-eslint/types/4.28.0: + /@typescript-eslint/types/4.27.0: dev: false engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: - integrity: sha512-p16xMNKKoiJCVZY5PW/AfILw2xe1LfruTcfAKBj3a+wgNYP5I9ZEKNDOItoRt53p4EiPV6iRSICy8EPanG9ZVA== + integrity: sha512-I4ps3SCPFCKclRcvnsVA/7sWzh7naaM/b4pBO2hVxnM3wrU51Lveybdw5WoIktU/V4KfXrTt94V9b065b/0+wA== /@typescript-eslint/typescript-estree/3.10.1_typescript@4.1.5: dependencies: '@typescript-eslint/types': 3.10.1 @@ -6062,12 +6063,12 @@ packages: optional: true resolution: integrity: sha512-zKwLiybtt4uJb4mkG5q2t6+W7BuYx2IISiDNV+IY68VfoGwErDx/RfVI7SWL4gnZ2t1A1ytQQwZ+YOJbHHJ2rw== - /@typescript-eslint/typescript-estree/4.28.0_typescript@4.1.5: + /@typescript-eslint/typescript-estree/4.27.0_typescript@4.1.5: dependencies: - '@typescript-eslint/types': 4.28.0 - '@typescript-eslint/visitor-keys': 4.28.0 + '@typescript-eslint/types': 4.27.0 + '@typescript-eslint/visitor-keys': 4.27.0 debug: 4.3.1 - globby: 11.0.4 + globby: 11.0.3 is-glob: 4.0.1 semver: 7.3.5 tsutils: 3.21.0_typescript@4.1.5 @@ -6081,7 +6082,7 @@ packages: typescript: optional: true resolution: - integrity: sha512-m19UQTRtxMzKAm8QxfKpvh6OwQSXaW1CdZPoCaQuLwAq7VZMNuhJmZR4g5281s2ECt658sldnJfdpSZZaxUGMQ== + integrity: sha512-KH03GUsUj41sRLLEy2JHstnezgpS5VNhrJouRdmh6yNdQ+yl8w5LrSwBkExM+jWwCJa7Ct2c8yl8NdtNRyQO6g== /@typescript-eslint/visitor-keys/3.10.1: dependencies: eslint-visitor-keys: 1.3.0 @@ -6090,15 +6091,15 @@ packages: node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: integrity: sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== - /@typescript-eslint/visitor-keys/4.28.0: + /@typescript-eslint/visitor-keys/4.27.0: dependencies: - '@typescript-eslint/types': 4.28.0 + '@typescript-eslint/types': 4.27.0 eslint-visitor-keys: 2.1.0 dev: false engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: - integrity: sha512-PjJyTWwrlrvM5jazxYF5ZPs/nl0kHDZMVbuIcbpawVXaDPelp3+S9zpOz5RmVUfS/fD5l5+ZXNKnWhNYjPzCvw== + integrity: sha512-es0GRYNZp0ieckZ938cEANfEhsfHrzuLrePukLKtY3/KPXcq1Xd555Mno9/GOgXhKzn0QfkDLVgqWO3dGY80bg== /@uifabric/merge-styles/7.19.2: dependencies: '@uifabric/set-version': 7.0.24 @@ -6536,13 +6537,13 @@ packages: hasBin: true resolution: integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - /acorn/8.4.1: + /acorn/8.4.0: dev: false engines: node: '>=0.4.0' hasBin: true resolution: - integrity: sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== + integrity: sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w== /address/1.1.2: dev: false engines: @@ -6778,8 +6779,8 @@ packages: integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== /aria-query/4.2.2: dependencies: - '@babel/runtime': 7.14.6 - '@babel/runtime-corejs3': 7.14.7 + '@babel/runtime': 7.14.5 + '@babel/runtime-corejs3': 7.14.5 dev: false engines: node: '>=6.0' @@ -7023,7 +7024,7 @@ packages: /autoprefixer/9.8.6: dependencies: browserslist: 4.16.6 - caniuse-lite: 1.0.30001239 + caniuse-lite: 1.0.30001237 colorette: 1.2.2 normalize-range: 0.1.2 num2fraction: 1.2.2 @@ -7041,23 +7042,23 @@ packages: dev: false resolution: integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - /axe-core/4.2.3: + /axe-core/4.2.2: dev: false engines: node: '>=4' resolution: - integrity: sha512-pXnVMfJKSIWU2Ml4JHP7pZEPIrgBO1Fd3WGx+fPBsS+KRGhE4vxooD8XBGWbQOIVSZsVK7pUDBBkCicNu80yzQ== + integrity: sha512-OKRkKM4ojMEZRJ5UNJHmq9tht7cEnRnqKG6KyB/trYws00Xtkv12mHtlJ0SK7cmuNbrU8dPUova3ELTuilfBbw== /axobject-query/2.2.0: dev: false resolution: integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - /babel-eslint/10.1.0_eslint@7.29.0: + /babel-eslint/10.1.0_eslint@7.28.0: dependencies: '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.7 - '@babel/traverse': 7.14.7 + '@babel/parser': 7.14.5 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 - eslint: 7.29.0 + eslint: 7.28.0 eslint-visitor-keys: 1.3.0 resolve: 1.20.0 deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. @@ -7096,14 +7097,14 @@ packages: dev: false resolution: integrity: sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA== - /babel-jest/25.5.1_@babel+core@7.14.6: + /babel-jest/25.5.1_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/transform': 25.5.1 '@jest/types': 25.5.0 '@types/babel__core': 7.1.14 babel-plugin-istanbul: 6.0.0 - babel-preset-jest: 25.5.0_@babel+core@7.14.6 + babel-preset-jest: 25.5.0_@babel+core@7.14.5 chalk: 3.0.0 graceful-fs: 4.2.6 slash: 3.0.0 @@ -7132,14 +7133,14 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - /babel-jest/26.6.3_@babel+core@7.14.6: + /babel-jest/26.6.3_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/transform': 26.6.2 '@jest/types': 26.6.2 '@types/babel__core': 7.1.14 babel-plugin-istanbul: 6.0.0 - babel-preset-jest: 26.6.2_@babel+core@7.14.6 + babel-preset-jest: 26.6.2_@babel+core@7.14.5 chalk: 4.1.1 graceful-fs: 4.2.6 slash: 3.0.0 @@ -7167,9 +7168,9 @@ packages: webpack: '>=2' resolution: integrity: sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - /babel-loader/8.1.0_44cd8e8988e8f6bdf4058c352d4e72dd: + /babel-loader/8.1.0_802eaa88f56443e8614799ffa818327a: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 find-cache-dir: 2.1.0 loader-utils: 1.4.0 mkdirp: 0.5.5 @@ -7212,7 +7213,7 @@ packages: '@emotion/serialize': 0.11.16 babel-plugin-macros: 2.8.0 babel-plugin-syntax-jsx: 6.18.0 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 escape-string-regexp: 1.0.5 find-root: 1.1.0 source-map: 0.5.7 @@ -7260,7 +7261,7 @@ packages: integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== /babel-plugin-macros/2.8.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 cosmiconfig: 6.0.0 resolve: 1.20.0 dev: false @@ -7341,7 +7342,7 @@ packages: integrity: sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== /babel-plugin-polyfill-corejs2/0.1.10_@babel+core@7.13.10: dependencies: - '@babel/compat-data': 7.14.7 + '@babel/compat-data': 7.14.5 '@babel/core': 7.13.10 '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.13.10 semver: 6.3.0 @@ -7350,11 +7351,11 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA== - /babel-plugin-polyfill-corejs2/0.1.10_@babel+core@7.14.6: + /babel-plugin-polyfill-corejs2/0.1.10_@babel+core@7.14.5: dependencies: - '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.6 - '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.14.6 + '@babel/compat-data': 7.14.5 + '@babel/core': 7.14.5 + '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.14.5 semver: 6.3.0 dev: false peerDependencies: @@ -7365,17 +7366,17 @@ packages: dependencies: '@babel/core': 7.13.10 '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.13.10 - core-js-compat: 3.15.1 + core-js-compat: 3.14.0 dev: false peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw== - /babel-plugin-polyfill-corejs3/0.1.7_@babel+core@7.14.6: + /babel-plugin-polyfill-corejs3/0.1.7_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.14.6 - core-js-compat: 3.15.1 + '@babel/core': 7.14.5 + '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.14.5 + core-js-compat: 3.14.0 dev: false peerDependencies: '@babel/core': ^7.0.0-0 @@ -7390,10 +7391,10 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg== - /babel-plugin-polyfill-regenerator/0.1.6_@babel+core@7.14.6: + /babel-plugin-polyfill-regenerator/0.1.6_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 - '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.14.6 + '@babel/core': 7.14.5 + '@babel/helper-define-polyfill-provider': 0.1.5_@babel+core@7.14.5 dev: false peerDependencies: '@babel/core': ^7.0.0-0 @@ -7475,20 +7476,20 @@ packages: dev: false resolution: integrity: sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA= - /babel-preset-current-node-syntax/0.1.4_@babel+core@7.14.6: - dependencies: - '@babel/core': 7.14.6 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.6 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.6 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.6 + /babel-preset-current-node-syntax/0.1.4_@babel+core@7.14.5: + dependencies: + '@babel/core': 7.14.5 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.5 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.5 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.5 dev: false peerDependencies: '@babel/core': ^7.0.0 @@ -7514,31 +7515,31 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.14.6: - dependencies: - '@babel/core': 7.14.6 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.6 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.6 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.6 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.6 + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.14.5: + dependencies: + '@babel/core': 7.14.5 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.5 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.5 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.5 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.5 dev: false peerDependencies: '@babel/core': ^7.0.0 resolution: integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - /babel-preset-jest/25.5.0_@babel+core@7.14.6: + /babel-preset-jest/25.5.0_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 babel-plugin-jest-hoist: 25.5.0 - babel-preset-current-node-syntax: 0.1.4_@babel+core@7.14.6 + babel-preset-current-node-syntax: 0.1.4_@babel+core@7.14.5 dev: false engines: node: '>= 8.3' @@ -7558,11 +7559,11 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - /babel-preset-jest/26.6.2_@babel+core@7.14.6: + /babel-preset-jest/26.6.2_@babel+core@7.14.5: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.14.6 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.14.5 dev: false engines: node: '>= 10.14.2' @@ -7667,7 +7668,7 @@ packages: toposort: 2.0.2 uuid: 8.3.2 workspace-tools: 0.12.3 - yargs-parser: 20.2.9 + yargs-parser: 20.2.7 dev: false hasBin: true resolution: @@ -7894,8 +7895,8 @@ packages: integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== /browserslist/4.14.2: dependencies: - caniuse-lite: 1.0.30001239 - electron-to-chromium: 1.3.757 + caniuse-lite: 1.0.30001237 + electron-to-chromium: 1.3.752 escalade: 3.1.1 node-releases: 1.1.73 dev: false @@ -7906,9 +7907,9 @@ packages: integrity: sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== /browserslist/4.16.6: dependencies: - caniuse-lite: 1.0.30001239 + caniuse-lite: 1.0.30001237 colorette: 1.2.2 - electron-to-chromium: 1.3.757 + electron-to-chromium: 1.3.752 escalade: 3.1.1 node-releases: 1.1.73 dev: false @@ -7998,7 +7999,7 @@ packages: test-exclude: 6.0.0 v8-to-istanbul: 8.0.0 yargs: 16.2.0 - yargs-parser: 20.2.9 + yargs-parser: 20.2.7 dev: false engines: node: '>=10.12.0' @@ -8148,10 +8149,10 @@ packages: dev: false resolution: integrity: sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= - /caniuse-lite/1.0.30001239: + /caniuse-lite/1.0.30001237: dev: false resolution: - integrity: sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ== + integrity: sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw== /capture-exit/2.0.0: dependencies: rsvp: 4.8.5 @@ -8301,7 +8302,7 @@ packages: fsevents: 2.1.3 resolution: integrity: sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - /chokidar/3.5.2: + /chokidar/3.5.1: dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -8309,14 +8310,14 @@ packages: is-binary-path: 2.1.0 is-glob: 4.0.1 normalize-path: 3.0.0 - readdirp: 3.6.0 + readdirp: 3.5.0 dev: false engines: node: '>= 8.10.0' optionalDependencies: fsevents: 2.3.2 resolution: - integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== /chownr/1.1.4: dev: false resolution: @@ -8675,12 +8676,12 @@ packages: node: '>= 0.6' resolution: integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - /convert-source-map/1.8.0: + /convert-source-map/1.7.0: dependencies: safe-buffer: 5.1.2 dev: false resolution: - integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== /cookie-parser/1.4.5: dependencies: cookie: 0.4.0 @@ -8739,7 +8740,7 @@ packages: fast-glob: 3.2.5 find-cache-dir: 3.3.1 glob-parent: 5.1.2 - globby: 11.0.4 + globby: 11.0.3 loader-utils: 2.0.0 normalize-path: 3.0.0 p-limit: 3.1.0 @@ -8767,23 +8768,23 @@ packages: hasBin: true resolution: integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== - /core-js-compat/3.15.1: + /core-js-compat/3.14.0: dependencies: browserslist: 4.16.6 semver: 7.0.0 dev: false resolution: - integrity: sha512-xGhzYMX6y7oEGQGAJmP2TmtBLvR4nZmRGEcFa3ubHOq5YEp51gGN9AovVa0AoujGZIq+Wm6dISiYyGNfdflYww== - /core-js-pure/3.15.1: + integrity: sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A== + /core-js-pure/3.14.0: dev: false requiresBuild: true resolution: - integrity: sha512-OZuWHDlYcIda8sJLY4Ec6nWq2hRjlyCqCZ+jCflyleMkVt3tPedDVErvHslyS2nbO+SlBFMSBJYvtLMwxnrzjA== - /core-js/3.15.1: + integrity: sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g== + /core-js/3.14.0: dev: false requiresBuild: true resolution: - integrity: sha512-h8VbZYnc9pDzueiS2610IULDkpFFPunHwIpl8yRwFahAEEdSpHlTy3h3z3rKq5h11CaUdBEeRViu9AYvbxiMeg== + integrity: sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA== /core-util-is/1.0.2: dev: false resolution: @@ -9225,10 +9226,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - /decimal.js/10.3.0: + /decimal.js/10.2.1: dev: false resolution: - integrity: sha512-MrQRs2gyD//7NeHi9TtsfClkf+cFAewDz+PZHR8ILKglLmBMyVX3ymQ+oeznE3tjrS7beTN+6JXb2C3JDHm7ug== + integrity: sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== /decode-uri-component/0.2.0: dev: false engines: @@ -9496,13 +9497,13 @@ packages: integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== /dom-helpers/3.4.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false resolution: integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== /dom-helpers/5.2.1: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 csstype: 3.0.8 dev: false resolution: @@ -9625,7 +9626,7 @@ packages: integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== /downshift/5.0.5_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 compute-scroll-into-view: 1.0.17 prop-types: 15.7.2 react: 16.14.0 @@ -9637,7 +9638,7 @@ packages: integrity: sha512-V1idov3Rkvz1YWA1K67aIx51EgokIDvep4x6KmU7HhsayI8DvTEZBeH4O92zeFVGximKujRO7ChBzBAf4PKWFA== /downshift/6.1.3_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 compute-scroll-into-view: 1.0.17 prop-types: 15.7.2 react: 16.14.0 @@ -9708,16 +9709,16 @@ packages: hasBin: true resolution: integrity: sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== - /electron-to-chromium/1.3.757: + /electron-to-chromium/1.3.752: dev: false resolution: - integrity: sha512-kP0ooyrvavDC+Y9UG6G/pUVxfRNM2VTJwtLQLvgsJeyf1V+7shMCb68Wj0/TETmfx8dWv9pToGkVT39udE87wQ== - /element-resize-detector/1.2.3: + integrity: sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A== + /element-resize-detector/1.2.2: dependencies: batch-processor: 1.0.0 dev: false resolution: - integrity: sha512-+dhNzUgLpq9ol5tyhoG7YLoXL3ssjfFW+0gpszXPwRU6NjGr1fVHMEAF8fVzIiRJq57Nre0RFeIjJwI8Nh2NmQ== + integrity: sha512-+LOXRkCJc4I5WhEJxIDjhmE3raF8jtOMBDqSCgZTMz2TX3oXAX5pE2+MDeopJlGdXzP7KzPbBJaUGfNaP9HG4A== /elliptic/6.5.4: dependencies: bn.js: 4.12.0 @@ -9760,7 +9761,7 @@ packages: integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== /emotion-theming/10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@emotion/core': 10.1.1_react@16.14.0 '@emotion/weak-memoize': 0.2.5 hoist-non-react-statics: 3.3.2 @@ -9783,14 +9784,14 @@ packages: dev: false resolution: integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - /endent/2.1.0: + /endent/2.0.1: dependencies: dedent: 0.7.0 fast-json-parse: 1.0.3 - objectorarray: 1.0.5 + objectorarray: 1.0.4 dev: false resolution: - integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w== + integrity: sha512-mADztvcC+vCk4XEZaCz6xIPO2NHQuprv5CAEjuVAu6aZwqAj7nVNlMyl1goPFYqCCpS2OJV9jwpumJLkotZrNw== /enhanced-resolve/4.5.0: dependencies: graceful-fs: 4.2.6 @@ -10044,9 +10045,9 @@ packages: source-map: 0.6.1 resolution: integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - /eslint-config-prettier/6.15.0_eslint@7.29.0: + /eslint-config-prettier/6.15.0_eslint@7.28.0: dependencies: - eslint: 7.29.0 + eslint: 7.28.0 get-stdin: 6.0.0 dev: false hasBin: true @@ -10054,18 +10055,18 @@ packages: eslint: '>=3.14.1' resolution: integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - /eslint-config-react-app/6.0.0_bdafebe3b0594a588e67ef80dc43ea61: + /eslint-config-react-app/6.0.0_a6b041e26cc491fbd3b30095bfdbe33e: dependencies: - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 - babel-eslint: 10.1.0_eslint@7.29.0 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 + babel-eslint: 10.1.0_eslint@7.28.0 confusing-browser-globals: 1.0.10 - eslint: 7.29.0 - eslint-plugin-flowtype: 5.7.2_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 + eslint: 7.28.0 + eslint-plugin-flowtype: 5.7.2_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 dev: false engines: node: ^10.12.0 || >=12.0.0 @@ -10104,9 +10105,9 @@ packages: node: '>=4' resolution: integrity: sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== - /eslint-plugin-flowtype/5.7.2_eslint@7.29.0: + /eslint-plugin-flowtype/5.7.2_eslint@7.28.0: dependencies: - eslint: 7.29.0 + eslint: 7.28.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false @@ -10116,22 +10117,22 @@ packages: eslint: ^7.1.0 resolution: integrity: sha512-7Oq/N0+3nijBnYWQYzz/Mp/7ZCpwxYvClRyW/PLAmimY9uLCBvoXsNsERcJdkKceyOjgRbFhhxs058KTrne9Mg== - /eslint-plugin-header/3.1.1_eslint@7.29.0: + /eslint-plugin-header/3.1.1_eslint@7.28.0: dependencies: - eslint: 7.29.0 + eslint: 7.28.0 dev: false peerDependencies: eslint: '>=7.7.0' resolution: integrity: sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg== - /eslint-plugin-import/2.22.1_eslint@7.29.0: + /eslint-plugin-import/2.22.1_eslint@7.28.0: dependencies: array-includes: 3.1.3 array.prototype.flat: 1.2.4 contains-path: 0.1.0 debug: 2.6.9 doctrine: 1.5.0 - eslint: 7.29.0 + eslint: 7.28.0 eslint-import-resolver-node: 0.3.4 eslint-module-utils: 2.6.1 has: 1.0.3 @@ -10147,17 +10148,17 @@ packages: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 resolution: integrity: sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - /eslint-plugin-jsx-a11y/6.4.1_eslint@7.29.0: + /eslint-plugin-jsx-a11y/6.4.1_eslint@7.28.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 aria-query: 4.2.2 array-includes: 3.1.3 ast-types-flow: 0.0.7 - axe-core: 4.2.3 + axe-core: 4.2.2 axobject-query: 2.2.0 damerau-levenshtein: 1.0.7 emoji-regex: 9.2.2 - eslint: 7.29.0 + eslint: 7.28.0 has: 1.0.3 jsx-ast-utils: 3.2.0 language-tags: 1.0.5 @@ -10168,10 +10169,10 @@ packages: eslint: ^3 || ^4 || ^5 || ^6 || ^7 resolution: integrity: sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== - /eslint-plugin-prettier/3.4.0_a97f137acbd150284a749134862326bb: + /eslint-plugin-prettier/3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41: dependencies: - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 prettier: 2.3.1 prettier-linter-helpers: 1.0.0 dev: false @@ -10192,9 +10193,9 @@ packages: node: '>=6' resolution: integrity: sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== - /eslint-plugin-react-hooks/4.2.0_eslint@7.29.0: + /eslint-plugin-react-hooks/4.2.0_eslint@7.28.0: dependencies: - eslint: 7.29.0 + eslint: 7.28.0 dev: false engines: node: '>=10' @@ -10202,12 +10203,12 @@ packages: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 resolution: integrity: sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== - /eslint-plugin-react/7.20.6_eslint@7.29.0: + /eslint-plugin-react/7.20.6_eslint@7.28.0: dependencies: array-includes: 3.1.3 array.prototype.flatmap: 1.2.4 doctrine: 2.1.0 - eslint: 7.29.0 + eslint: 7.28.0 has: 1.0.3 jsx-ast-utils: 2.4.1 object.entries: 1.1.4 @@ -10223,12 +10224,12 @@ packages: eslint: ^3 || ^4 || ^5 || ^6 || ^7 resolution: integrity: sha512-kidMTE5HAEBSLu23CUDvj8dc3LdBU0ri1scwHBZjI41oDv4tjsWZKU7MQccFzH1QYPYhsnTF2ovh7JlcIcmxgg== - /eslint-plugin-react/7.24.0_eslint@7.29.0: + /eslint-plugin-react/7.24.0_eslint@7.28.0: dependencies: array-includes: 3.1.3 array.prototype.flatmap: 1.2.4 doctrine: 2.1.0 - eslint: 7.29.0 + eslint: 7.28.0 has: 1.0.3 jsx-ast-utils: 3.2.0 minimatch: 3.0.4 @@ -10278,9 +10279,9 @@ packages: node: '>=6' resolution: integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - /eslint-utils/3.0.0_eslint@7.29.0: + /eslint-utils/3.0.0_eslint@7.28.0: dependencies: - eslint: 7.29.0 + eslint: 7.28.0 eslint-visitor-keys: 2.1.0 dev: false engines: @@ -10346,7 +10347,7 @@ packages: hasBin: true resolution: integrity: sha512-HlMTEdr/LicJfN08LB3nM1rRYliDXOmfoO4vj39xN6BLpFzF00hbwBoqHk8UcJ2M/3nlARZWy/mslvGEuZFvsg== - /eslint/7.29.0: + /eslint/7.28.0: dependencies: '@babel/code-frame': 7.12.11 '@eslint/eslintrc': 0.4.2 @@ -10392,7 +10393,7 @@ packages: node: ^10.12.0 || >=12.0.0 hasBin: true resolution: - integrity: sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA== + integrity: sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== /espree/7.3.1: dependencies: acorn: 7.4.1 @@ -10440,7 +10441,7 @@ packages: integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== /estree-to-babel/3.2.1: dependencies: - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@babel/types': 7.14.5 c8: 7.7.3 dev: false @@ -11225,6 +11226,27 @@ packages: yarn: '>=1.0.0' resolution: integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== + /fork-ts-checker-webpack-plugin/6.2.10: + dependencies: + '@babel/code-frame': 7.14.5 + '@types/json-schema': 7.0.7 + chalk: 4.1.1 + chokidar: 3.5.1 + cosmiconfig: 6.0.0 + deepmerge: 4.2.2 + fs-extra: 9.1.0 + glob: 7.1.7 + memfs: 3.2.2 + minimatch: 3.0.4 + schema-utils: 2.7.0 + semver: 7.3.5 + tapable: 1.1.3 + dev: false + engines: + node: '>=10' + yarn: '>=1.0.0' + resolution: + integrity: sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ== /form-data/2.3.3: dependencies: asynckit: 0.4.0 @@ -11343,6 +11365,10 @@ packages: node: '>= 8' resolution: integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + /fs-monkey/1.0.3: + dev: false + resolution: + integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== /fs-write-stream-atomic/1.0.10: dependencies: graceful-fs: 4.2.6 @@ -11520,7 +11546,7 @@ packages: /git-up/4.0.2: dependencies: is-ssh: 1.3.3 - parse-url: 5.0.5 + parse-url: 5.0.3 dev: false resolution: integrity: sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ== @@ -11681,7 +11707,7 @@ packages: node: '>=10' resolution: integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - /globby/11.0.4: + /globby/11.0.3: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -11693,7 +11719,7 @@ packages: engines: node: '>=10' resolution: - integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== /globby/6.1.0: dependencies: array-union: 1.0.2 @@ -11969,7 +11995,7 @@ packages: integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== /history/4.10.1: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.1.0 @@ -11980,7 +12006,7 @@ packages: integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== /history/5.0.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false resolution: integrity: sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg== @@ -12096,12 +12122,12 @@ packages: webpack: ^4.0.0 || ^5.0.0 resolution: integrity: sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== - /html-webpack-plugin/5.3.2_webpack@5.38.1: + /html-webpack-plugin/5.3.1_webpack@5.38.1: dependencies: '@types/html-minifier-terser': 5.1.1 html-minifier-terser: 5.1.1 lodash: 4.17.21 - pretty-error: 3.0.4 + pretty-error: 2.1.2 tapable: 2.2.0 webpack: 5.38.1_webpack-cli@4.7.2 dev: false @@ -12110,7 +12136,7 @@ packages: peerDependencies: webpack: ^5.20.0 resolution: - integrity: sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ== + integrity: sha512-rZsVvPXUYFyME0cuGkyOHfx9hmkFa4pWfxY/mdY38PsBEaVNsRoA+Id+8z6DBDgyv3zaw6XQszdF8HLwfQvcdQ== /htmlparser2/5.0.1: dependencies: domelementtype: 2.2.0 @@ -13035,7 +13061,7 @@ packages: integrity: sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== /istanbul-lib-instrument/4.0.3: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.0.0 semver: 6.3.0 @@ -13160,10 +13186,10 @@ packages: integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== /jest-config/25.5.4: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/test-sequencer': 25.5.4 '@jest/types': 25.5.0 - babel-jest: 25.5.1_@babel+core@7.14.6 + babel-jest: 25.5.1_@babel+core@7.14.5 chalk: 3.0.0 deepmerge: 4.2.2 glob: 7.1.7 @@ -13186,10 +13212,10 @@ packages: integrity: sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== /jest-config/26.6.3: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/test-sequencer': 26.6.3 '@jest/types': 26.6.2 - babel-jest: 26.6.3_@babel+core@7.14.6 + babel-jest: 26.6.3_@babel+core@7.14.5 chalk: 4.1.1 deepmerge: 4.2.2 glob: 7.1.7 @@ -13216,10 +13242,10 @@ packages: integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== /jest-config/26.6.3_ts-node@9.1.1: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@jest/test-sequencer': 26.6.3_ts-node@9.1.1 '@jest/types': 26.6.2 - babel-jest: 26.6.3_@babel+core@7.14.6 + babel-jest: 26.6.3_@babel+core@7.14.5 chalk: 4.1.1 deepmerge: 4.2.2 glob: 7.1.7 @@ -13325,7 +13351,7 @@ packages: '@jest/environment': 26.6.2 '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 jest-mock: 26.6.2 jest-util: 26.6.2 jsdom: 16.6.0 @@ -13352,7 +13378,7 @@ packages: '@jest/environment': 26.6.2 '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 jest-mock: 26.6.2 jest-util: 26.6.2 dev: false @@ -13404,7 +13430,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.5 - '@types/node': 15.12.4 + '@types/node': 15.12.2 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.6 @@ -13424,7 +13450,7 @@ packages: integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== /jest-jasmine2/25.5.4: dependencies: - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@jest/environment': 25.5.0 '@jest/source-map': 25.5.0 '@jest/test-result': 25.5.0 @@ -13448,12 +13474,12 @@ packages: integrity: sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== /jest-jasmine2/26.6.3: dependencies: - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@jest/environment': 26.6.2 '@jest/source-map': 26.6.2 '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 chalk: 4.1.1 co: 4.6.0 expect: 26.6.2 @@ -13473,12 +13499,12 @@ packages: integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== /jest-jasmine2/26.6.3_ts-node@9.1.1: dependencies: - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.14.5 '@jest/environment': 26.6.2 '@jest/source-map': 26.6.2 '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 chalk: 4.1.1 co: 4.6.0 expect: 26.6.2 @@ -13591,7 +13617,7 @@ packages: /jest-mock/26.6.2: dependencies: '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 dev: false engines: node: '>= 10.14.2' @@ -13718,7 +13744,7 @@ packages: '@jest/environment': 26.6.2 '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 chalk: 4.1.1 emittery: 0.7.2 exit: 0.1.2 @@ -13745,7 +13771,7 @@ packages: '@jest/environment': 26.6.2 '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 chalk: 4.1.1 emittery: 0.7.2 exit: 0.1.2 @@ -13884,7 +13910,7 @@ packages: integrity: sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== /jest-serializer/26.6.2: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 graceful-fs: 4.2.6 dev: false engines: @@ -13981,7 +14007,7 @@ packages: /jest-util/26.6.2: dependencies: '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 chalk: 4.1.1 graceful-fs: 4.2.6 is-ci: 2.0.0 @@ -14034,7 +14060,7 @@ packages: dependencies: '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 15.12.4 + '@types/node': 15.12.2 ansi-escapes: 4.3.2 chalk: 4.1.1 jest-util: 26.6.2 @@ -14055,7 +14081,7 @@ packages: integrity: sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== /jest-worker/26.6.2: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -14065,7 +14091,7 @@ packages: integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== /jest-worker/27.0.2: dependencies: - '@types/node': 15.12.4 + '@types/node': 15.12.2 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -14172,7 +14198,7 @@ packages: whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 7.1.0 - ws: 7.5.0 + ws: 7.4.6 xml-name-validator: 3.0.0 dev: false engines: @@ -14187,12 +14213,12 @@ packages: /jsdom/16.6.0: dependencies: abab: 2.0.5 - acorn: 8.4.1 + acorn: 8.4.0 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 data-urls: 2.0.0 - decimal.js: 10.3.0 + decimal.js: 10.2.1 domexception: 2.0.1 escodegen: 2.0.0 form-data: 3.0.1 @@ -14211,7 +14237,7 @@ packages: whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 8.6.0 - ws: 7.5.0 + ws: 7.4.6 xml-name-validator: 3.0.0 dev: false engines: @@ -14404,9 +14430,9 @@ packages: integrity: sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= /lazy-universal-dotenv/3.0.1: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 app-root-dir: 1.0.2 - core-js: 3.15.1 + core-js: 3.14.0 dotenv: 8.6.0 dotenv-expand: 5.1.0 dev: false @@ -14786,6 +14812,14 @@ packages: node: '>= 0.6' resolution: integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + /memfs/3.2.2: + dependencies: + fs-monkey: 1.0.3 + dev: false + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q== /memoize-one/5.2.1: dev: false resolution: @@ -14947,7 +14981,7 @@ packages: integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== /mini-create-react-context/0.4.1_prop-types@15.7.2+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 prop-types: 15.7.2 react: 16.14.0 tiny-warning: 1.0.3 @@ -15398,12 +15432,12 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - /normalize-url/4.5.0: + /normalize-url/6.0.1: dev: false engines: - node: '>=8' + node: '>=10' resolution: - integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + integrity: sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ== /npm-run-path/2.0.2: dependencies: path-key: 2.0.1 @@ -15556,10 +15590,10 @@ packages: node: '>= 0.4' resolution: integrity: sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== - /objectorarray/1.0.5: + /objectorarray/1.0.4: dev: false resolution: - integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg== + integrity: sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w== /obuf/1.1.2: dev: false resolution: @@ -15902,15 +15936,15 @@ packages: dev: false resolution: integrity: sha1-dLkdLLhnXRG5mXagBl9s4X+hvMg= - /parse-url/5.0.5: + /parse-url/5.0.3: dependencies: is-ssh: 1.3.3 - normalize-url: 4.5.0 + normalize-url: 6.0.1 parse-path: 4.0.3 protocols: 1.4.8 dev: false resolution: - integrity: sha512-AwfVhXaQrNNI6UPUJq/GJN2qoY0L9gPgxhh9VbDP0bfBAJWaC/Zh8hjQ58YKTi4AagOT70fpadkYSKPo+eFb1w== + integrity: sha512-nrLCVMJpqo12X8uUJT4GJPd5AFaTOrGx/QpJy3HNcVtq0AZSstVIsnxS5fqNPuoqMUs3MyfBoOP6Zvu2Arok5A== /parse5-htmlparser2-tree-adapter/6.0.1: dependencies: parse5: 6.0.1 @@ -16168,7 +16202,7 @@ packages: integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== /polished/3.7.2: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false engines: node: '>=10' @@ -16176,7 +16210,7 @@ packages: integrity: sha512-pQKtpZGmsZrW8UUpQMAnR7s3ppHeMQVNyMDKtUyKwuvDmklzcEyM5Kllb3JyE/sE/x7arDmyd35i+4vp99H6sQ== /polished/4.1.3: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false engines: node: '>=10' @@ -16392,13 +16426,6 @@ packages: dev: false resolution: integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - /pretty-error/3.0.4: - dependencies: - lodash: 4.17.21 - renderkid: 2.0.7 - dev: false - resolution: - integrity: sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ== /pretty-format/25.5.0: dependencies: '@jest/types': 25.5.0 @@ -16427,7 +16454,7 @@ packages: node: '>= 0.8' resolution: integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - /pretty-quick/3.1.1_prettier@2.3.1: + /pretty-quick/3.1.0_prettier@2.3.1: dependencies: chalk: 3.0.0 execa: 4.1.0 @@ -16443,7 +16470,7 @@ packages: peerDependencies: prettier: '>=2.0.0' resolution: - integrity: sha512-ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ== + integrity: sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ== /prismjs/1.23.0: dev: false optionalDependencies: @@ -16688,6 +16715,7 @@ packages: resolution: integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= /querystring/0.2.1: + deprecated: The dev: false engines: node: '>=0.4.x' @@ -16867,7 +16895,7 @@ packages: /react-docgen-typescript-plugin/0.6.3_typescript@4.1.5: dependencies: debug: 4.3.1 - endent: 2.1.0 + endent: 2.0.1 micromatch: 4.0.4 react-docgen-typescript: 1.22.0_typescript@4.1.5 tslib: 2.3.0 @@ -16887,9 +16915,9 @@ packages: integrity: sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg== /react-docgen/5.4.0: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.5 '@babel/generator': 7.14.5 - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -16956,7 +16984,7 @@ packages: integrity: sha512-TDIuOzxwtPcMhxlR4be/s1Er5b7zS8D42QOzaZZGMJskfH1ULFSOpdlBsb32ivqacXatbGZzshHDXGV5vKNkhQ== /react-helmet-async/1.0.9_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 invariant: 2.2.4 prop-types: 15.7.2 react: 16.14.0 @@ -16989,7 +17017,7 @@ packages: integrity: sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg== /react-inspector/5.1.1_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 is-dom: 1.1.0 prop-types: 15.7.2 react: 16.14.0 @@ -17019,7 +17047,7 @@ packages: integrity: sha512-7gcIUvJkAXXttt1fmBK9cwn+1jTa4hbKLGCZ9J1U6EOkyb2/+LKL1Z28d9rtDLMnpvImlNlLPdTPooorl5cpmg== /react-popper-tooltip/3.1.1_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@popperjs/core': 2.9.2 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -17032,7 +17060,7 @@ packages: integrity: sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ== /react-popper/1.3.11_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@hypnosphi/create-react-context': 0.3.1_prop-types@15.7.2+react@16.14.0 deep-equal: 1.1.1 popper.js: 1.16.1 @@ -17065,7 +17093,7 @@ packages: integrity: sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== /react-router-dom/5.2.0_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.7.2 @@ -17080,7 +17108,7 @@ packages: integrity: sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== /react-router/5.2.0_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -17098,7 +17126,7 @@ packages: integrity: sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== /react-select/3.2.0_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 '@emotion/cache': 10.0.29 '@emotion/core': 10.1.1_react@16.14.0 '@emotion/css': 10.0.27 @@ -17116,7 +17144,7 @@ packages: integrity: sha512-B/q3TnCZXEKItO0fFN/I0tWOX3WJvi/X2wtdffmwSQVRwg5BpValScTO1vdic9AxlUgmeSzib2hAZAwIUQUZGQ== /react-sizeme/2.6.12_react-dom@16.13.1+react@16.14.0: dependencies: - element-resize-detector: 1.2.3 + element-resize-detector: 1.2.2 invariant: 2.2.4 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -17130,7 +17158,7 @@ packages: integrity: sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw== /react-syntax-highlighter/13.5.3_react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 highlight.js: 10.7.3 lowlight: 1.20.0 prismjs: 1.23.0 @@ -17155,7 +17183,7 @@ packages: integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg== /react-textarea-autosize/8.3.3_807f3d8e201fbb23c29c1613533607c0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 react: 16.14.0 use-composed-ref: 1.1.0_react@16.14.0 use-latest: 1.2.0_807f3d8e201fbb23c29c1613533607c0 @@ -17183,7 +17211,7 @@ packages: integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== /react-transition-group/4.4.2_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.7.2 @@ -17213,7 +17241,7 @@ packages: integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== /reactstrap/8.9.0_react-dom@16.13.1+react@16.14.0: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 classnames: 2.3.1 prop-types: 15.7.2 react: 16.14.0 @@ -17353,14 +17381,6 @@ packages: node: '>=8.10.0' resolution: integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - /readdirp/3.6.0: - dependencies: - picomatch: 2.3.0 - dev: false - engines: - node: '>=8.10.0' - resolution: - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== /realpath-native/2.0.0: dev: false engines: @@ -17439,7 +17459,7 @@ packages: integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== /regenerator-transform/0.14.5: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false resolution: integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== @@ -17800,10 +17820,10 @@ packages: dev: false resolution: integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - /rollup-plugin-sourcemaps/0.6.3_e6c981b1ff85d11d155c184feff70a06: + /rollup-plugin-sourcemaps/0.6.3_0066070b421169d8c820b850a87a74ad: dependencies: '@rollup/pluginutils': 3.1.0_rollup@2.42.4 - '@types/node': 14.17.4 + '@types/node': 14.17.3 rollup: 2.42.4 source-map-resolve: 0.6.0 dev: false @@ -17854,7 +17874,7 @@ packages: integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== /rtl-css-js/1.14.1: dependencies: - '@babel/runtime': 7.14.6 + '@babel/runtime': 7.14.5 dev: false resolution: integrity: sha512-G9N1s/6329FpJr8k9e1U/Lg0IDWThv99sb7k0IrXHjSnubxe01h52/ajsPRafJK1/2Vqrhz3VKLe3E1dx6jS9Q== @@ -17971,6 +17991,16 @@ packages: node: '>= 4' resolution: integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + /schema-utils/2.7.0: + dependencies: + '@types/json-schema': 7.0.7 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: false + engines: + node: '>= 8.9.0' + resolution: + integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== /schema-utils/2.7.1: dependencies: '@types/json-schema': 7.0.7 @@ -18358,7 +18388,7 @@ packages: dependencies: btoa: 1.2.1 chalk: 4.1.1 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 ejs: 3.1.6 escape-html: 1.0.3 glob: 7.1.7 @@ -18911,7 +18941,7 @@ packages: /styled-components/5.2.3_2c10db6bed9aaf10b28f0c8606f7c0c7: dependencies: '@babel/helper-module-imports': 7.14.5 - '@babel/traverse': 7.14.7_supports-color@5.5.0 + '@babel/traverse': 7.14.5_supports-color@5.5.0 '@emotion/is-prop-valid': 0.8.8 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 @@ -19487,7 +19517,7 @@ packages: mkdirp: 1.0.4 semver: 7.3.5 typescript: 4.1.5 - yargs-parser: 20.2.9 + yargs-parser: 20.2.7 dev: false engines: node: '>= 10' @@ -19516,7 +19546,7 @@ packages: integrity: sha512-MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag== /ts-node-dev/1.1.6_typescript@4.1.5: dependencies: - chokidar: 3.5.2 + chokidar: 3.5.1 dateformat: 1.0.12 dynamic-dedupe: 0.3.0 minimist: 1.2.5 @@ -19708,13 +19738,13 @@ packages: dev: false resolution: integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - /typescript/3.9.10: + /typescript/3.9.9: dev: false engines: node: '>=4.2.0' hasBin: true resolution: - integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + integrity: sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w== /typescript/4.1.5: dev: false engines: @@ -20079,7 +20109,7 @@ packages: /v8-to-istanbul/4.1.4: dependencies: '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 source-map: 0.7.3 dev: false engines: @@ -20089,7 +20119,7 @@ packages: /v8-to-istanbul/7.1.2: dependencies: '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 source-map: 0.7.3 dev: false engines: @@ -20099,7 +20129,7 @@ packages: /v8-to-istanbul/8.0.0: dependencies: '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.8.0 + convert-source-map: 1.7.0 source-map: 0.7.3 dev: false engines: @@ -20210,7 +20240,7 @@ packages: neo-async: 2.6.2 dev: false optionalDependencies: - chokidar: 3.5.2 + chokidar: 3.5.1 watchpack-chokidar2: 2.0.1 resolution: integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== @@ -20512,7 +20542,7 @@ packages: '@webassemblyjs/ast': 1.11.0 '@webassemblyjs/wasm-edit': 1.11.0 '@webassemblyjs/wasm-parser': 1.11.0 - acorn: 8.4.1 + acorn: 8.4.0 browserslist: 4.16.6 chrome-trace-event: 1.0.3 enhanced-resolve: 5.8.2 @@ -20548,7 +20578,7 @@ packages: '@webassemblyjs/ast': 1.11.0 '@webassemblyjs/wasm-edit': 1.11.0 '@webassemblyjs/wasm-parser': 1.11.0 - acorn: 8.4.1 + acorn: 8.4.0 browserslist: 4.16.6 chrome-trace-event: 1.0.3 enhanced-resolve: 5.8.2 @@ -20701,7 +20731,7 @@ packages: find-yarn-workspace-root: 1.2.1 fs-extra: 9.1.0 git-url-parse: 11.4.4 - globby: 11.0.4 + globby: 11.0.3 jju: 1.4.0 multimatch: 4.0.0 read-yaml-file: 2.1.0 @@ -20779,20 +20809,6 @@ packages: optional: true resolution: integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - /ws/7.5.0: - dev: false - engines: - node: '>=8.3.0' - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - resolution: - integrity: sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw== /xml-name-validator/3.0.0: dev: false resolution: @@ -20866,12 +20882,12 @@ packages: node: '>=6' resolution: integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - /yargs-parser/20.2.9: + /yargs-parser/20.2.7: dev: false engines: node: '>=10' resolution: - integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + integrity: sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== /yargs/13.3.2: dependencies: cliui: 5.0.0 @@ -20913,7 +20929,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.2 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 20.2.7 dev: false engines: node: '>=10' @@ -20959,14 +20975,14 @@ packages: '@microsoft/api-documenter': 7.12.22 '@types/jest': 26.0.23 '@types/react': 16.14.8 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 copyfiles: 2.4.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 jest: 26.6.0 prettier: 2.3.1 rollup: 2.42.4 @@ -20983,7 +20999,7 @@ packages: '@microsoft/api-extractor-model': 7.13.3 '@microsoft/tsdoc': 0.13.2 '@microsoft/tsdoc-config': 0.15.2 - '@rushstack/eslint-config': 2.3.4_eslint@7.29.0+typescript@4.1.5 + '@rushstack/eslint-config': 2.3.4_eslint@7.28.0+typescript@4.1.5 '@rushstack/heft': 0.28.0 '@rushstack/heft-node-rig': 1.0.8_@rushstack+heft@0.28.0 '@rushstack/node-core-library': 3.39.0 @@ -20991,15 +21007,15 @@ packages: '@rushstack/ts-command-line': 4.7.10 '@types/heft-jest': 1.0.1 '@types/lodash': 4.14.116 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/resolve': 1.17.1 '@types/semver': 7.3.5 colors: 1.2.5 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 lodash: 4.17.21 prettier: 2.3.1 resolve: 1.17.0 @@ -21016,10 +21032,10 @@ packages: dependencies: '@octokit/rest': 18.0.15 '@rollup/plugin-commonjs': 17.1.0_rollup@2.42.4 - '@types/node': 14.17.4 + '@types/node': 14.17.3 beachball: 1.53.2 rollup: 2.42.4 - rollup-plugin-sourcemaps: 0.6.3_e6c981b1ff85d11d155c184feff70a06 + rollup-plugin-sourcemaps: 0.6.3_0066070b421169d8c820b850a87a74ad rollup-plugin-svg: 2.0.0 ts-node: 9.1.1_typescript@4.1.5 typescript: 4.1.5 @@ -21036,14 +21052,14 @@ packages: '@microsoft/api-documenter': 7.12.22 '@types/jest': 26.0.23 '@types/react': 16.14.8 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 copyfiles: 2.4.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 jest: 26.6.0 memoize-one: 5.2.1 prettier: 2.3.1 @@ -21065,14 +21081,14 @@ packages: '@microsoft/api-documenter': 7.12.22 '@types/jest': 26.0.23 '@types/react': 16.14.8 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 copyfiles: 2.4.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 events: 3.3.0 immer: 8.0.4 jest: 26.6.0 @@ -21097,40 +21113,42 @@ packages: '@babel/preset-react': 7.14.5_@babel+core@7.13.10 '@fluentui/react': 8.17.4_ef89b9d44e70903856bf583071c7248b '@fluentui/react-icons': 1.1.134 + '@fluentui/react-icons-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b + '@fluentui/react-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@testing-library/react-hooks': 3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4 '@types/jest': 26.0.23 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/react': 16.14.8 '@types/react-dom': 16.9.13 '@types/uuid': 8.3.0 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 ajv: 6.12.6 - babel-eslint: 10.1.0_eslint@7.29.0 + babel-eslint: 10.1.0_eslint@7.28.0 babel-jest: 26.6.3_@babel+core@7.13.10 babel-loader: 8.1.0_1c79d8f1c22e4359b44756162b1aff62 concurrently: 5.3.0 copyfiles: 2.4.1 cross-env: 5.2.1 css-loader: 4.3.0_webpack@5.38.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-config-react-app: 6.0.0_bdafebe3b0594a588e67ef80dc43ea61 - eslint-plugin-flowtype: 5.7.2_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 - html-webpack-plugin: 5.3.2_webpack@5.38.1 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-config-react-app: 6.0.0_a6b041e26cc491fbd3b30095bfdbe33e + eslint-plugin-flowtype: 5.7.2_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 + html-webpack-plugin: 5.3.1_webpack@5.38.1 husky: 4.3.8 jest: 26.6.0 jest-junit: 12.2.0 jquery: 3.6.0 merge: 2.1.1 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 react: 16.14.0 react-dom: 16.13.1_react@16.14.0 react-router-dom: 5.2.0_react@16.14.0 @@ -21162,11 +21180,11 @@ packages: '@types/jest': 26.0.23 '@types/react': 16.14.8 copyfiles: 2.4.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 jest: 26.6.0 memoize-one: 5.2.1 prettier: 2.3.1 @@ -21189,14 +21207,14 @@ packages: '@microsoft/api-documenter': 7.12.22 '@types/jest': 26.0.23 '@types/react': 16.14.8 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 copyfiles: 2.4.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 events: 3.3.0 immer: 8.0.4 jest: 26.6.0 @@ -21218,9 +21236,10 @@ packages: '@azure/communication-identity': 1.0.0 '@azure/communication-signaling': 1.0.0-beta.5 '@azure/core-http': 1.2.4 - '@azure/logger': 1.0.2 '@fluentui/react': 8.17.4_ef89b9d44e70903856bf583071c7248b '@fluentui/react-icons': 1.1.134 + '@fluentui/react-icons-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b + '@fluentui/react-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@testing-library/jest-dom': 5.14.1 '@testing-library/react-hooks': 3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4 '@types/jest': 26.0.23 @@ -21229,30 +21248,31 @@ packages: '@types/react-aria-live': 2.0.0 '@types/react-dom': 16.9.13 '@types/react-linkify': 1.0.0 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 - babel-eslint: 10.1.0_eslint@7.29.0 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 + babel-eslint: 10.1.0_eslint@7.28.0 concurrently: 5.3.0 copyfiles: 2.4.1 css-loader: 4.3.0_webpack@5.38.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-config-react-app: 6.0.0_bdafebe3b0594a588e67ef80dc43ea61 - eslint-plugin-flowtype: 5.7.2_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 - html-webpack-plugin: 5.3.2_webpack@5.38.1 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-config-react-app: 6.0.0_a6b041e26cc491fbd3b30095bfdbe33e + eslint-plugin-flowtype: 5.7.2_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 + fork-ts-checker-webpack-plugin: 6.2.10 + html-webpack-plugin: 5.3.1_webpack@5.38.1 husky: 4.3.8 jest: 26.6.0 jest-fetch-mock: 3.0.3 jest-junit: 12.2.0 json-stringify-safe: 5.0.1 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 react: 16.14.0 react-aria-live: 2.0.5_react@16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -21282,6 +21302,7 @@ packages: '@azure/core-paging': 1.1.3 '@fluentui/react': 8.17.4_ef89b9d44e70903856bf583071c7248b '@fluentui/react-icons': 1.1.134 + '@fluentui/react-icons-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@fluentui/react-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@microsoft/api-documenter': 7.12.22 '@rollup/plugin-json': 4.1.0_rollup@2.42.4 @@ -21289,14 +21310,14 @@ packages: '@testing-library/react-hooks': 3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4 '@types/jest': 26.0.23 '@types/json-stringify-safe': 5.0.0 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/react': 16.14.8 '@types/react-aria-live': 2.0.0 '@types/react-dom': 16.9.13 '@types/react-linkify': 1.0.0 '@types/uuid': 8.3.0 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 '@uifabric/react-hooks': 7.13.12_ef89b9d44e70903856bf583071c7248b '@zerollup/ts-transform-paths': 1.7.18_typescript@4.1.5 ajv: 6.12.6 @@ -21304,14 +21325,14 @@ packages: copyfiles: 2.4.1 enzyme: 3.11.0 enzyme-adapter-react-16: 1.15.6_ae67991505dc3d23647f38417e28fa3a - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 events: 3.3.0 html-to-react: 1.4.5_react@16.14.0 immer: 8.0.4 @@ -21321,7 +21342,7 @@ packages: nanoid: 3.1.23 node-forge: 0.10.0 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 react: 16.14.0 react-aria-live: 2.0.5_react@16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -21350,6 +21371,7 @@ packages: '@babel/preset-env': 7.13.10_@babel+core@7.13.10 '@fluentui/react': 8.17.4_ef89b9d44e70903856bf583071c7248b '@fluentui/react-icons': 1.1.134 + '@fluentui/react-icons-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@fluentui/react-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@mdx-js/react': 1.6.22_react@16.14.0 '@microsoft/api-documenter': 7.12.22 @@ -21358,14 +21380,14 @@ packages: '@testing-library/react-hooks': 3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4 '@types/jest': 26.0.23 '@types/json-stringify-safe': 5.0.0 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/react': 16.14.8 '@types/react-aria-live': 2.0.0 '@types/react-dom': 16.9.13 '@types/react-linkify': 1.0.0 '@types/uuid': 8.3.0 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 '@uifabric/react-hooks': 7.13.12_ef89b9d44e70903856bf583071c7248b ajv: 6.12.6 babel-jest: 26.6.3_@babel+core@7.13.10 @@ -21373,17 +21395,17 @@ packages: concurrently: 5.3.0 copy-to-clipboard: 3.3.1 copyfiles: 2.4.1 - core-js: 3.15.1 + core-js: 3.14.0 enzyme: 3.11.0 enzyme-adapter-react-16: 1.15.6_ae67991505dc3d23647f38417e28fa3a - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 html-to-react: 1.4.5_react@16.14.0 husky: 4.3.8 jest: 26.6.0_ts-node@9.1.1 @@ -21393,7 +21415,7 @@ packages: nan: 2.14.2 node-forge: 0.10.0 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 react: 16.14.0 react-aria-live: 2.0.5_react@16.14.0 react-dom: 16.13.1_react@16.14.0 @@ -21423,10 +21445,13 @@ packages: '@azure/communication-identity': 1.0.0 '@azure/communication-signaling': 1.0.0-beta.5 '@azure/core-http': 1.2.4 + '@azure/core-paging': 1.1.3 '@babel/core': 7.13.10 '@babel/preset-env': 7.13.10_@babel+core@7.13.10 '@fluentui/react': 8.17.4_ef89b9d44e70903856bf583071c7248b '@fluentui/react-icons': 1.1.134 + '@fluentui/react-icons-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b + '@fluentui/react-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@mdx-js/react': 1.6.22_react@16.14.0 '@microsoft/api-documenter': 7.12.22 '@testing-library/jest-dom': 5.14.1 @@ -21434,15 +21459,15 @@ packages: '@types/express': 4.17.12 '@types/jest': 26.0.23 '@types/json-stringify-safe': 5.0.0 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/puppeteer': 5.4.3 '@types/react': 16.14.8 '@types/react-aria-live': 2.0.0 '@types/react-dom': 16.9.13 '@types/react-linkify': 1.0.0 '@types/uuid': 8.3.0 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 '@uifabric/react-hooks': 7.13.12_ef89b9d44e70903856bf583071c7248b ajv: 6.12.6 babel-jest: 26.6.3_@babel+core@7.13.10 @@ -21450,19 +21475,19 @@ packages: concurrently: 5.3.0 copy-to-clipboard: 3.3.1 copyfiles: 2.4.1 - core-js: 3.15.1 + core-js: 3.14.0 dotenv-webpack: 7.0.3_webpack@5.38.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 events: 3.3.0 express: 4.16.4 - html-webpack-plugin: 5.3.2_webpack@5.38.1 + html-webpack-plugin: 5.3.1_webpack@5.38.1 husky: 4.3.8 jest: 26.6.0_ts-node@9.1.1 jest-fetch-mock: 3.0.3 @@ -21472,7 +21497,7 @@ packages: nan: 2.14.2 node-forge: 0.10.0 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 puppeteer: 10.0.0 react: 16.14.0 react-aria-live: 2.0.5_react@16.14.0 @@ -21527,21 +21552,21 @@ packages: '@types/http-errors': 1.8.0 '@types/jest': 26.0.23 '@types/morgan': 1.9.2 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/supertest': 2.0.11 '@types/webpack-node-externals': 2.5.1 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 cookie-parser: 1.4.5 copy-webpack-plugin: 6.4.1_webpack@5.38.1 cors: 2.8.5 debug: 2.6.9 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-flowtype: 5.7.2_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-flowtype: 5.7.2_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 express: 4.16.4 http-errors: 1.6.3 husky: 4.3.8 @@ -21549,7 +21574,7 @@ packages: jest-junit: 12.2.0 morgan: 1.9.1 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 supertest: 6.1.3 ts-jest: 26.5.6_jest@26.6.0+typescript@4.1.5 ts-loader: 8.3.0_typescript@4.1.5+webpack@5.38.1 @@ -21577,6 +21602,7 @@ packages: '@babel/preset-env': 7.13.10_@babel+core@7.13.10 '@fluentui/react': 8.17.4_ef89b9d44e70903856bf583071c7248b '@fluentui/react-icons': 1.1.134 + '@fluentui/react-icons-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@fluentui/react-northstar': 0.51.7_ef89b9d44e70903856bf583071c7248b '@fluentui/theme-samples': 8.1.5_ef89b9d44e70903856bf583071c7248b '@mdx-js/react': 1.6.22_react@16.14.0 @@ -21589,27 +21615,27 @@ packages: '@storybook/addon-knobs': 6.1.21_d225d9c534f73d28105b13f0a78c1790 '@storybook/addon-links': 6.1.21_react-dom@16.13.1+react@16.14.0 '@storybook/addon-storyshots': 6.1.21_18b1f7e7a127d76edac226ccdbbac562 - '@storybook/addons': 6.3.0_react-dom@16.13.1+react@16.14.0 - '@storybook/api': 6.3.0_react-dom@16.13.1+react@16.14.0 - '@storybook/components': 6.3.0_d225d9c534f73d28105b13f0a78c1790 - '@storybook/core-events': 6.3.0 + '@storybook/addons': 6.2.9_react-dom@16.13.1+react@16.14.0 + '@storybook/api': 6.2.9_react-dom@16.13.1+react@16.14.0 + '@storybook/components': 6.2.9_d225d9c534f73d28105b13f0a78c1790 + '@storybook/core-events': 6.2.9 '@storybook/node-logger': 6.1.21 '@storybook/react': 6.1.21_4586ebf2284698b0b0b4994d1dc36857 - '@storybook/storybook-deployer': 2.8.10 + '@storybook/storybook-deployer': 2.8.8 '@storybook/theming': 6.1.21_react-dom@16.13.1+react@16.14.0 '@testing-library/jest-dom': 5.14.1 '@testing-library/react-hooks': 3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4 '@types/classnames': 2.3.1 '@types/jest': 26.0.23 '@types/json-stringify-safe': 5.0.0 - '@types/node': 14.17.4 + '@types/node': 14.17.3 '@types/react': 16.14.8 '@types/react-aria-live': 2.0.0 '@types/react-dom': 16.9.13 '@types/react-linkify': 1.0.0 '@types/uuid': 8.3.0 - '@typescript-eslint/eslint-plugin': 4.28.0_a42a802b6e86eed0dcfd45d5bff65b40 - '@typescript-eslint/parser': 4.28.0_eslint@7.29.0+typescript@4.1.5 + '@typescript-eslint/eslint-plugin': 4.27.0_1d12bd368a44f7ab048f0db14465c56a + '@typescript-eslint/parser': 4.27.0_eslint@7.28.0+typescript@4.1.5 '@uifabric/react-hooks': 7.13.12_ef89b9d44e70903856bf583071c7248b ajv: 6.12.6 babel-jest: 26.6.3_@babel+core@7.13.10 @@ -21618,15 +21644,15 @@ packages: concurrently: 5.3.0 copy-to-clipboard: 3.3.1 copyfiles: 2.4.1 - core-js: 3.15.1 - eslint: 7.29.0 - eslint-config-prettier: 6.15.0_eslint@7.29.0 - eslint-plugin-header: 3.1.1_eslint@7.29.0 - eslint-plugin-import: 2.22.1_eslint@7.29.0 - eslint-plugin-jsx-a11y: 6.4.1_eslint@7.29.0 - eslint-plugin-prettier: 3.4.0_a97f137acbd150284a749134862326bb - eslint-plugin-react: 7.24.0_eslint@7.29.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.29.0 + core-js: 3.14.0 + eslint: 7.28.0 + eslint-config-prettier: 6.15.0_eslint@7.28.0 + eslint-plugin-header: 3.1.1_eslint@7.28.0 + eslint-plugin-import: 2.22.1_eslint@7.28.0 + eslint-plugin-jsx-a11y: 6.4.1_eslint@7.28.0 + eslint-plugin-prettier: 3.4.0_9ffac69d7e0f4c6fe45d155d53d9fe41 + eslint-plugin-react: 7.24.0_eslint@7.28.0 + eslint-plugin-react-hooks: 4.2.0_eslint@7.28.0 history: 5.0.0 husky: 4.3.8 jest: 26.6.0_ts-node@9.1.1 @@ -21636,7 +21662,7 @@ packages: nan: 2.14.2 node-forge: 0.10.0 prettier: 2.3.1 - pretty-quick: 3.1.1_prettier@2.3.1 + pretty-quick: 3.1.0_prettier@2.3.1 raw-loader: 4.0.2_webpack@5.38.1 react: 16.14.0 react-aria-live: 2.0.5_react@16.14.0 diff --git a/packages/chat-stateful-client/review/chat-stateful-client.api.md b/packages/chat-stateful-client/review/chat-stateful-client.api.md index fdf6f6f2764..e5fbc96ed50 100644 --- a/packages/chat-stateful-client/review/chat-stateful-client.api.md +++ b/packages/chat-stateful-client/review/chat-stateful-client.api.md @@ -9,6 +9,7 @@ import { ChatClientOptions } from '@azure/communication-chat'; import { ChatMessage } from '@azure/communication-chat'; import { ChatMessageReadReceipt } from '@azure/communication-chat'; import { ChatParticipant } from '@azure/communication-chat'; +import { ChatThreadClient } from '@azure/communication-chat'; import { CommunicationIdentifierKind } from '@azure/communication-common'; import { CommunicationTokenCredential } from '@azure/communication-common'; import { MessageStatus } from 'acs-ui-common'; @@ -21,14 +22,38 @@ export type ChatClientState = { threads: { [key: string]: ChatThreadClientState; }; + latestErrors: ChatErrors; }; +// @public +export class ChatError extends Error { + constructor(target: ChatErrorTargets, inner: Error); + inner: Error; + target: ChatErrorTargets; +} + +// @public +export type ChatErrors = { + [target in ChatErrorTargets]: Error; +}; + +// @public +export type ChatErrorTargets = ChatObjectMethodNames<'ChatClient', ChatClient> | ChatObjectMethodNames<'ChatThreadClient', ChatThreadClient>; + // @public (undocumented) export type ChatMessageWithStatus = ChatMessage & { clientMessageId?: string; status: MessageStatus; }; +// @public +export type ChatMethodName = T[K] extends Function ? (K extends string ? K : never) : never; + +// @public +export type ChatObjectMethodNames = { + [K in keyof T]: `${TName}.${ChatMethodName}`; +}[keyof T]; + // @public (undocumented) export type ChatThreadClientState = { chatMessages: { diff --git a/packages/chat-stateful-client/src/ChatClientState.ts b/packages/chat-stateful-client/src/ChatClientState.ts index c83162fdc4a..7bef35eb471 100644 --- a/packages/chat-stateful-client/src/ChatClientState.ts +++ b/packages/chat-stateful-client/src/ChatClientState.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { ChatMessageReadReceipt, ChatParticipant } from '@azure/communication-chat'; +import { ChatClient, ChatMessageReadReceipt, ChatParticipant, ChatThreadClient } from '@azure/communication-chat'; import { CommunicationIdentifierKind } from '@azure/communication-common'; import { ChatMessageWithStatus } from './types/ChatMessageWithStatus'; import { TypingIndicatorReceivedEvent } from '@azure/communication-signaling'; @@ -14,6 +14,12 @@ export type ChatClientState = { * Object with {@Link ChatThreadClientState} fields, keyed by {@Link ChatThreadClientState.threadId}. */ threads: { [key: string]: ChatThreadClientState }; + /** + * Stores the latest error for each API method. + * + * See documentation of {@Link ChatErrors} for details. + */ + latestErrors: ChatErrors; }; export type ChatThreadClientState = { @@ -45,3 +51,61 @@ export type ChatThreadClientState = { export type ChatThreadProperties = { topic?: string; }; + +/** + * Errors teed from API calls to the Chat SDK. + * + * Each property in the object stores the latest error for a particular SDK API method. + * + * Errors from this object can be cleared by calling the TODO(implement me) {@Link clearError} method. + * Additionally, errors are automatically cleared when: + * - The state is cleared. + * - Subsequent calls to related API methods succeed. + * See documentation of individual stateful client methods for details on when errors may be automatically cleared. + */ +export type ChatErrors = { + [target in ChatErrorTargets]: Error; +}; + +/** + * Error thrown from failed stateful API methods. + */ +export class ChatError extends Error { + /** + * The API method target that failed. + */ + public target: ChatErrorTargets; + /** + * Error thrown by the failed SDK method. + */ + public inner: Error; + + constructor(target: ChatErrorTargets, inner: Error) { + super(); + this.target = target; + this.inner = inner; + this.name = 'ChatError'; + this.message = `${this.target}: ${this.inner.message}`; + } +} + +/** + * String literal type for all permissible keys in {@Link ChatErrors}. + */ +export type ChatErrorTargets = + | ChatObjectMethodNames<'ChatClient', ChatClient> + | ChatObjectMethodNames<'ChatThreadClient', ChatThreadClient>; + +/** + * Helper type to build a string literal type containing methods of an object. + */ +export type ChatObjectMethodNames = { + [K in keyof T]: `${TName}.${ChatMethodName}`; +}[keyof T]; + +/** + * Helper type to build a string literal type containing methods of an object. + */ +// eslint complains on all uses of `Function`. Using it as a type constraint is legitimate. +// eslint-disable-next-line @typescript-eslint/ban-types +export type ChatMethodName = T[K] extends Function ? (K extends string ? K : never) : never; diff --git a/packages/chat-stateful-client/src/ChatContext.ts b/packages/chat-stateful-client/src/ChatContext.ts index 261ea0ee005..ad722485bb7 100644 --- a/packages/chat-stateful-client/src/ChatContext.ts +++ b/packages/chat-stateful-client/src/ChatContext.ts @@ -3,7 +3,14 @@ import EventEmitter from 'events'; import produce from 'immer'; -import { ChatClientState, ChatThreadClientState, ChatThreadProperties } from './ChatClientState'; +import { + ChatClientState, + ChatErrors, + ChatThreadClientState, + ChatThreadProperties, + ChatErrorTargets, + ChatError +} from './ChatClientState'; import { ChatMessageWithStatus } from './types/ChatMessageWithStatus'; import { enableMapSet } from 'immer'; import { ChatMessageReadReceipt, ChatParticipant } from '@azure/communication-chat'; @@ -19,7 +26,8 @@ export class ChatContext { private _state: ChatClientState = { userId: { id: '' }, displayName: '', - threads: {} + threads: {}, + latestErrors: {} as ChatErrors }; private _batchMode = false; private _emitter: EventEmitter; @@ -317,6 +325,54 @@ export class ChatContext { } } + /** + * Tees any errors encountered in an async function to the state. + * + * If the function succeeds, clears associated errors from the state. + * + * @param f Async function to execute. + * @param target The error target to tee error to. + * @param clearTargets The error targets to clear errors for if the function succeeds. By default, clears errors for `target. + * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`. + * @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target. + */ + public async asyncTeeErrorToState( + f: () => Promise, + target: ChatErrorTargets, + clearTargets?: ChatErrorTargets[] + ): Promise { + try { + const ret = await f(); + + if (clearTargets !== undefined) { + clearTargets.forEach((target) => this.clearError(target)); + } else { + this.clearError(target); + } + + return ret; + } catch (error) { + this.setLatestError(target, error); + throw new ChatError(target, error); + } + } + + private setLatestError(target: ChatErrorTargets, error: Error): void { + this.setState( + produce(this._state, (draft: ChatClientState) => { + draft.latestErrors[target] = error; + }) + ); + } + + private clearError(target: ChatErrorTargets): void { + this.setState( + produce(this._state, (draft: ChatClientState) => { + delete draft.latestErrors[target]; + }) + ); + } + // This is a mutating function, only use it inside of a produce() function private filterTypingIndicatorForUser(thread: ChatThreadClientState, userId?: CommunicationIdentifierKind): void { if (!userId) return; diff --git a/packages/chat-stateful-client/src/StatefulChatClient.test.ts b/packages/chat-stateful-client/src/StatefulChatClient.test.ts index e4a340364db..ee59db2a86c 100644 --- a/packages/chat-stateful-client/src/StatefulChatClient.test.ts +++ b/packages/chat-stateful-client/src/StatefulChatClient.test.ts @@ -15,8 +15,8 @@ import { ReadReceiptReceivedEvent, TypingIndicatorReceivedEvent } from '@azure/communication-signaling'; -import { createStatefulChatClient, StatefulChatClient } from './StatefulChatClient'; -import { ChatClientState } from './ChatClientState'; +import { createStatefulChatClientWithDeps, StatefulChatClient, StatefulChatClientArgs } from './StatefulChatClient'; +import { ChatClientState, ChatError } from './ChatClientState'; import { Constants } from './Constants'; import { createMockChatThreadClient } from './mocks/createMockChatThreadClient'; import { createMockIterator } from './mocks/createMockIterator'; @@ -52,7 +52,7 @@ beforeEach(() => { mockEventHandlersRef.value = {}; }); -function createMockChatClient(): ChatClient { +export function createMockChatClient(): ChatClient { const mockChatClient: ChatClient = {} as any; mockChatClient.createChatThread = async (request) => { @@ -90,29 +90,15 @@ function createMockChatClient(): ChatClient { return mockChatClient; } -jest.mock('@azure/communication-chat', () => { - return { - ...jest.requireActual('@azure/communication-chat'), - ChatClient: jest.fn().mockImplementation(() => { - return createMockChatClient(); - }) - }; -}); - type StatefulChatClientWithEventTrigger = StatefulChatClient & { triggerEvent: (eventName: string, e: any) => Promise; }; -function createStatefulChatClientMock(): StatefulChatClientWithEventTrigger { +const createStatefulChatClientMock = (): StatefulChatClientWithEventTrigger => { mockEventHandlersRef.value = {}; - const declarativeClient = createStatefulChatClient({ - displayName: '', - userId: { kind: 'communicationUser', communicationUserId: 'userId1' }, - endpoint: '', - credential: new MockCommunicationUserCredential() - }); + const client = createStatefulChatClientWithDeps(createMockChatClient(), defaultClientArgs); - Object.defineProperty(declarativeClient, 'triggerEvent', { + Object.defineProperty(client, 'triggerEvent', { value: async (eventName: string, e: any): Promise => { const handler = mockEventHandlersRef.value[eventName]; if (handler !== undefined) { @@ -121,8 +107,15 @@ function createStatefulChatClientMock(): StatefulChatClientWithEventTrigger { } }); - return declarativeClient as StatefulChatClientWithEventTrigger; -} + return client as StatefulChatClientWithEventTrigger; +}; + +export const defaultClientArgs: StatefulChatClientArgs = { + displayName: '', + userId: { kind: 'communicationUser', communicationUserId: 'userId1' }, + endpoint: '', + credential: new MockCommunicationUserCredential() +}; describe('declarative chatThread list iterators', () => { test('declarative listChatThreads should proxy listChatThreads iterator and store it in internal state', async () => { @@ -429,3 +422,91 @@ describe('declarative chatClient onStateChange', () => { expect(onChangeCalledTimes).toBe(1); }); }); + +describe('stateful wraps thrown error', () => { + test('when startRealtimeNotifications fails', async () => { + const baseClient = createMockChatClient(); + baseClient.startRealtimeNotifications = async () => { + throw Error('injected error'); + }; + const client = createStatefulChatClientWithDeps(baseClient, defaultClientArgs); + await expect(client.startRealtimeNotifications()).rejects.toThrow( + new ChatError('ChatClient.startRealtimeNotifications', new Error('injected error')) + ); + }); +}); + +describe('stateful chatClient tees errors to state', () => { + test('when startRealtimeNotifications fails', async () => { + const baseClient = createMockChatClient(); + baseClient.startRealtimeNotifications = async () => { + throw Error('injected error'); + }; + const client = createStatefulChatClientWithDeps(baseClient, defaultClientArgs); + const listener = new StateChangeListener(client); + await expect(client.startRealtimeNotifications()).rejects.toThrow(); + expect(listener.onChangeCalledCount).toBe(1); + const latestError = listener.state.latestErrors['ChatClient.startRealtimeNotifications']; + expect(latestError).toBeDefined(); + }); +}); + +describe('complex error handling for startRealtimeNotifications', () => { + test('latest error is stored in state', async () => { + const baseClient = createMockChatClient(); + let errorCount = 0; + baseClient.startRealtimeNotifications = async () => { + errorCount++; + throw Error(`injected error #${errorCount}`); + }; + const client = createStatefulChatClientWithDeps(baseClient, defaultClientArgs); + const listener = new StateChangeListener(client); + + // Generate two errors. + await expect(client.startRealtimeNotifications()).rejects.toThrow(); + await expect(client.startRealtimeNotifications()).rejects.toThrow(); + + expect(listener.onChangeCalledCount).toBe(2); + const latestError = listener.state.latestErrors['ChatClient.startRealtimeNotifications']; + expect(latestError).toBeDefined(); + expect(latestError.message).toBe('injected error #2'); + }); + + test('errors are cleared on successful method call', async () => { + const baseClient = createMockChatClient(); + + let hasFailedOnce = false; + baseClient.startRealtimeNotifications = async () => { + if (!hasFailedOnce) { + hasFailedOnce = true; + throw Error('injected error'); + } + }; + const client = createStatefulChatClientWithDeps(baseClient, defaultClientArgs); + const listener = new StateChangeListener(client); + + // Generates error. + await expect(client.startRealtimeNotifications()).rejects.toThrow(); + // Succeeds, should clear errors in state. + await client.startRealtimeNotifications(); + + expect(listener.onChangeCalledCount).toBe(2); + const latestError = listener.state.latestErrors['ChatClient.startRealtimeNotifications']; + expect(latestError).toBeUndefined(); + }); +}); + +export class StateChangeListener { + state: ChatClientState; + onChangeCalledCount = 0; + + constructor(client: StatefulChatClient) { + this.state = client.getState(); + client.onStateChange(this.onChange.bind(this)); + } + + private onChange(newState: ChatClientState): void { + this.onChangeCalledCount++; + this.state = newState; + } +} diff --git a/packages/chat-stateful-client/src/StatefulChatClient.ts b/packages/chat-stateful-client/src/StatefulChatClient.ts index 97952056be4..bda7f1f1097 100644 --- a/packages/chat-stateful-client/src/StatefulChatClient.ts +++ b/packages/chat-stateful-client/src/StatefulChatClient.ts @@ -65,12 +65,13 @@ const proxyChatClient: ProxyHandler = { } case 'startRealtimeNotifications': { return async function (...args: Parameters) { - const ret = await chatClient.startRealtimeNotifications(...args); - if (!receiver.eventSubscriber) { - receiver.eventSubscriber = new EventSubscriber(chatClient, context); - } - - return ret; + return context.asyncTeeErrorToState(async () => { + const ret = await chatClient.startRealtimeNotifications(...args); + if (!receiver.eventSubscriber) { + receiver.eventSubscriber = new EventSubscriber(chatClient, context); + } + return ret; + }, 'ChatClient.startRealtimeNotifications'); }; } case 'stopRealtimeNotifications': { @@ -124,7 +125,23 @@ export const createStatefulChatClient = ( args: StatefulChatClientArgs, options?: StatefulChatClientOptions ): StatefulChatClient => { - const chatClient = new ChatClient(args.endpoint, args.credential, options?.chatClientOptions); + return createStatefulChatClientWithDeps( + new ChatClient(args.endpoint, args.credential, options?.chatClientOptions), + args, + options + ); +}; + +/** + * Internal implementation of {@Link createStatefulChatClient} for dependency injection. + * + * Used by tests. Should not be exported out of this package. + */ +export const createStatefulChatClientWithDeps = ( + chatClient: ChatClient, + args: StatefulChatClientArgs, + options?: StatefulChatClientOptions +): StatefulChatClient => { const context = new ChatContext(options?.maxStateChangeListeners); let eventSubscriber: EventSubscriber; diff --git a/packages/chat-stateful-client/src/StatefulChatThreadClient.test.ts b/packages/chat-stateful-client/src/StatefulChatThreadClient.test.ts index 7d6c6b6523a..fea4720d223 100644 --- a/packages/chat-stateful-client/src/StatefulChatThreadClient.test.ts +++ b/packages/chat-stateful-client/src/StatefulChatThreadClient.test.ts @@ -11,6 +11,8 @@ import { mockParticipants, mockReadReceipts } from './mocks/createMockChatThreadClient'; +import { createMockChatClient, defaultClientArgs, StateChangeListener } from './StatefulChatClient.test'; +import { createStatefulChatClientWithDeps, StatefulChatClient } from './StatefulChatClient'; const threadId = '1'; @@ -230,3 +232,33 @@ describe('declarative chatThreadClient basic api functions', () => { expect(Object.values(chatMessages ?? {}).length).toBe(0); }); }); + +describe('stateful chatThreadClient tees errors to state', () => { + test('when updateTopic fails', async () => { + const chatThreadClient = createMockChatThreadClient('threadId'); + chatThreadClient.updateTopic = async (): Promise => { + throw Error('inejected error'); + }; + const client = createMockChatClientWithChatThreadClient(chatThreadClient); + + // Ignore state changes as a side-effect of thread creation on first call to getChatThreadClient(). + client.getChatThreadClient('threadId'); + + const listener = new StateChangeListener(client); + + await expect(client.getChatThreadClient('threadId').updateTopic('topic')).rejects.toThrow(); + + expect(listener.onChangeCalledCount).toBe(1); + const latestError = listener.state.latestErrors['ChatThreadClient.updateTopic']; + expect(latestError).toBeDefined(); + }); +}); + +// Creates a mock stateful chat client that returns the given thread client for all thread IDs. +const createMockChatClientWithChatThreadClient = (chatThreadClient: ChatThreadClient): StatefulChatClient => { + const client = createMockChatClient(); + client.getChatThreadClient = () => { + return chatThreadClient; + }; + return createStatefulChatClientWithDeps(client, defaultClientArgs); +}; diff --git a/packages/chat-stateful-client/src/StatefulChatThreadClient.ts b/packages/chat-stateful-client/src/StatefulChatThreadClient.ts index b186c247e8e..556ace4f63c 100644 --- a/packages/chat-stateful-client/src/StatefulChatThreadClient.ts +++ b/packages/chat-stateful-client/src/StatefulChatThreadClient.ts @@ -120,11 +120,13 @@ class ProxyChatThreadClient implements ProxyHandler { } case 'updateTopic': { return async (...args: Parameters) => { - const result = await chatThreadClient.updateTopic(...args); - const [topic] = args; + return this._context.asyncTeeErrorToState(async () => { + const result = await chatThreadClient.updateTopic(...args); + const [topic] = args; - this._context.updateThreadTopic(chatThreadClient.threadId, topic); - return result; + this._context.updateThreadTopic(chatThreadClient.threadId, topic); + return result; + }, 'ChatThreadClient.updateTopic'); }; } case 'getProperties': { diff --git a/packages/chat-stateful-client/src/index.ts b/packages/chat-stateful-client/src/index.ts index 09e306828e8..1dd49fe039f 100644 --- a/packages/chat-stateful-client/src/index.ts +++ b/packages/chat-stateful-client/src/index.ts @@ -5,4 +5,13 @@ export { createStatefulChatClient } from './StatefulChatClient'; export type { StatefulChatClient, StatefulChatClientArgs, StatefulChatClientOptions } from './StatefulChatClient'; export type { ChatMessageWithStatus } from './types/ChatMessageWithStatus'; -export type { ChatClientState, ChatThreadClientState, ChatThreadProperties } from './ChatClientState'; +export type { + ChatClientState, + ChatError, + ChatErrors, + ChatThreadClientState, + ChatThreadProperties, + ChatErrorTargets, + ChatMethodName, + ChatObjectMethodNames +} from './ChatClientState'; diff --git a/packages/communication-react/review/communication-react.api.md b/packages/communication-react/review/communication-react.api.md index daf00d2e664..df1f6b1decd 100644 --- a/packages/communication-react/review/communication-react.api.md +++ b/packages/communication-react/review/communication-react.api.md @@ -449,7 +449,7 @@ export interface ChatAdapter { // (undocumented) off(event: 'topicChanged', listener: TopicChangedListener): void; // (undocumented) - off(event: 'error', listener: (e: Error) => void): void; + off(event: 'error', listener: ChatErrorListener): void; // (undocumented) offStateChange(handler: (state: ChatState) => void): void; // (undocumented) @@ -465,7 +465,7 @@ export interface ChatAdapter { // (undocumented) on(event: 'topicChanged', listener: TopicChangedListener): void; // (undocumented) - on(event: 'error', listener: (e: Error) => void): void; + on(event: 'error', listener: ChatErrorListener): void; // (undocumented) onStateChange(handler: (state: ChatState) => void): void; // (undocumented) @@ -480,6 +480,11 @@ export interface ChatAdapter { setTopic(topicName: string): Promise; } +// @public +export type ChatAdapterErrors = { + [operation: string]: Error; +}; + // @public (undocumented) export type ChatBaseSelectorProps = { threadId: string; @@ -501,6 +506,7 @@ export type ChatClientState = { threads: { [key: string]: ChatThreadClientState; }; + latestErrors: ChatErrors; }; // @public (undocumented) @@ -511,6 +517,7 @@ export type ChatCompositeClientState = { userId: string; displayName: string; thread: ChatThreadClientState; + latestErrors: ChatAdapterErrors; }; // @public (undocumented) @@ -523,6 +530,27 @@ export type ChatCompositeProps = { options?: ChatOptions; }; +// @public +export class ChatError extends Error { + constructor(target: ChatErrorTargets, inner: Error); + inner: Error; + target: ChatErrorTargets; +} + +// @public +export type ChatErrorListener = (event: { + operation: string; + error: Error; +}) => void; + +// @public +export type ChatErrors = { + [target in ChatErrorTargets]: Error; +}; + +// @public +export type ChatErrorTargets = ChatObjectMethodNames<'ChatClient', ChatClient> | ChatObjectMethodNames<'ChatThreadClient', ChatThreadClient>; + // @public (undocumented) export type ChatMessage = Message<'chat'>; @@ -546,6 +574,14 @@ export type ChatMessageWithStatus = ChatMessage_2 & { status: MessageStatus; }; +// @public +export type ChatMethodName = T[K] extends Function ? (K extends string ? K : never) : never; + +// @public +export type ChatObjectMethodNames = { + [K in keyof T]: `${TName}.${ChatMethodName}`; +}[keyof T]; + // @public (undocumented) export type ChatOptions = { sendBoxMaxLength?: number; diff --git a/packages/react-composites/package.json b/packages/react-composites/package.json index 0f56ea223df..94a7cc2e05a 100644 --- a/packages/react-composites/package.json +++ b/packages/react-composites/package.json @@ -35,6 +35,7 @@ "@azure/communication-common": "1.0.0", "@azure/communication-signaling": "1.0.0-beta.5", "@azure/core-http": "1.2.4", + "@azure/core-paging": "~1.1.3", "@fluentui/react": "~8.17.2", "@fluentui/react-icons": "~1.1.134", "@uifabric/react-hooks": "~7.13.11", diff --git a/packages/react-composites/review/react-composites.api.md b/packages/react-composites/review/react-composites.api.md index b38b8fbc49f..858e6d32bba 100644 --- a/packages/react-composites/review/react-composites.api.md +++ b/packages/react-composites/review/react-composites.api.md @@ -285,7 +285,7 @@ export interface ChatAdapter { // (undocumented) off(event: 'topicChanged', listener: TopicChangedListener): void; // (undocumented) - off(event: 'error', listener: (e: Error) => void): void; + off(event: 'error', listener: ChatErrorListener): void; // (undocumented) offStateChange(handler: (state: ChatState) => void): void; // (undocumented) @@ -301,7 +301,7 @@ export interface ChatAdapter { // (undocumented) on(event: 'topicChanged', listener: TopicChangedListener): void; // (undocumented) - on(event: 'error', listener: (e: Error) => void): void; + on(event: 'error', listener: ChatErrorListener): void; // (undocumented) onStateChange(handler: (state: ChatState) => void): void; // (undocumented) @@ -316,6 +316,11 @@ export interface ChatAdapter { setTopic(topicName: string): Promise; } +// @public +export type ChatAdapterErrors = { + [operation: string]: Error; +}; + // @public (undocumented) export const ChatComposite: (props: ChatCompositeProps) => JSX.Element; @@ -324,6 +329,7 @@ export type ChatCompositeClientState = { userId: string; displayName: string; thread: ChatThreadClientState; + latestErrors: ChatAdapterErrors; }; // @public (undocumented) @@ -336,6 +342,12 @@ export type ChatCompositeProps = { options?: ChatOptions; }; +// @public +export type ChatErrorListener = (event: { + operation: string; + error: Error; +}) => void; + // @public (undocumented) export type ChatOptions = { sendBoxMaxLength?: number; diff --git a/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.test.ts b/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.test.ts new file mode 100644 index 00000000000..78750bed562 --- /dev/null +++ b/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.test.ts @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { createAzureCommunicationChatAdapter } from './AzureCommunicationChatAdapter'; +import { ChatAdapter, ChatState } from './ChatAdapter'; +import { StubChatClient, StubChatThreadClient } from './StubChatClient'; +import { ChatClient } from '@azure/communication-chat'; + +jest.useFakeTimers(); +jest.mock('@azure/communication-chat'); + +const ChatClientMock = ChatClient as jest.MockedClass; + +describe('Error is reflected in state and events', () => { + it('when setTopic fails', async () => { + const threadClient = new StubChatThreadClient(); + threadClient.updateTopic = (): Promise => { + throw new Error('injected error'); + }; + const adapter = await createChatAdapterWithStubs(new StubChatClient(threadClient)); + const stateListener = new StateChangeListener(adapter); + const errorListener = new ErrorListener(adapter); + + await expect(adapter.setTopic('Some Topic')).rejects.toThrow(); + + expect(stateListener.onChangeCalledCount).toBe(1); + const latestError = stateListener.state.latestErrors['ChatThreadClient.updateTopic']; + expect(latestError).toBeDefined(); + expect(errorListener.errors.length).toBe(1); + expect(errorListener.errors[0].operation).toBe('ChatThreadClient.updateTopic'); + }); +}); + +export const createChatAdapterWithStubs = async (chatClient: StubChatClient): Promise => { + // ChatClient constructor must return a ChatClient. StubChatClient only implements the + // public interface of ChatClient. So we are forced to lose some type information here. + ChatClientMock.mockImplementation((): ChatClient => { + return chatClient as unknown as ChatClient; + }); + return await createAzureCommunicationChatAdapter( + { communicationUserId: 'stubUserId' }, + token, + 'stubEndointUrl', + 'stubThreadId', + 'stubDisplayName' + ); +}; + +// An actual (expired) token to mollify token parsing logic before we hit the StubChatClient (which promptly ignores the token). +// TODO: Allow dependency injection in stateful client so that we can directly inject the StubChatClient, avoiding production glue code. +const token = + 'eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwMiIsIng1dCI6IjNNSnZRYzhrWVNLd1hqbEIySmx6NTRQVzNBYyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjcxZWM1OTBiLWNiYWQtNDkwYy05OWM1LWI1NzhiZGFjZGU1NF8wMDAwMDAwYS1mYjg0LWFkOTgtNDdiNC1hNDNhMGQwMDI0YTkiLCJzY3AiOjE3OTIsImNzaSI6IjE2MjUwMzUwNDkiLCJpYXQiOjE2MjUwMzUwNDksImV4cCI6MTYyNTEyMTQ0OSwiYWNzU2NvcGUiOiJjaGF0IiwicmVzb3VyY2VJZCI6IjcxZWM1OTBiLWNiYWQtNDkwYy05OWM1LWI1NzhiZGFjZGU1NCJ9.ylByb-wR0G59zZldD4AxkHz-tkAUTGl3mvL0AHsR9FQix0w9ezgq-LDJfYvRyaAmH6IwKkPCD75Cod3PCYVAK5joGAr6QLGBOYtTpN3fr_NaB85MDzM3Sh0ftRQAMXocwk925hwGGcFg4mHEJKyuNcHsuWcrdt76s0U4Gyw5aFB9uOeXK9bpCBk5I5tNy1gT0rZWd23AQZP-agp3aPVnu-KNl1dmmSRQ6T4vAQXHi64Xc3dc2PJ86Txzeened6pT3Ww7jBVLVRLR-cDLqCPl0DdS4-3dxyns9IuuQ8ANILruYCB7jS6yXk77rUAeXKqgvWMLEYMJ6uOBslfd-gU1Aw'; + +class StateChangeListener { + state: ChatState; + onChangeCalledCount = 0; + + constructor(client: ChatAdapter) { + this.state = client.getState(); + client.onStateChange(this.onChange.bind(this)); + } + + private onChange(newState: ChatState): void { + this.onChangeCalledCount++; + this.state = newState; + } +} + +class ErrorListener { + errors: { operation: string; error: Error }[] = []; + + constructor(client: ChatAdapter) { + client.on('error', this.onError.bind(this)); + } + + private onError(event: { operation: string; error: Error }): void { + this.errors.push({ operation: event.operation, error: event.error }); + } +} diff --git a/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts b/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts index 9b9609c825d..46c061c8786 100644 --- a/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts +++ b/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { createStatefulChatClient, ChatClientState, StatefulChatClient } from 'chat-stateful-client'; +import { createStatefulChatClient, ChatClientState, ChatError, StatefulChatClient } from 'chat-stateful-client'; import { DefaultChatHandlers, createDefaultChatHandlers } from 'chat-component-bindings'; import { ChatMessage, ChatThreadClient } from '@azure/communication-chat'; @@ -20,6 +20,7 @@ import { ChatAdapter, ChatEvent, ChatState, + ChatErrorListener, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, @@ -40,7 +41,8 @@ class ChatContext { this.state = { userId: toFlatCommunicationIdentifier(clientState.userId), displayName: clientState.displayName, - thread + thread, + latestErrors: clientState.latestErrors }; } @@ -71,7 +73,8 @@ class ChatContext { this.setState({ userId: toFlatCommunicationIdentifier(clientState.userId), displayName: clientState.displayName, - thread + thread, + latestErrors: clientState.latestErrors }); } } @@ -153,7 +156,9 @@ export class AzureCommunicationChatAdapter implements ChatAdapter { } async setTopic(topicName: string): Promise { - await this.handlers.updateThreadTopicName(topicName); + await this.asyncTeeErrorToEventEmitter(async () => { + await this.handlers.updateThreadTopicName(topicName); + }); } async loadPreviousChatMessages(messagesToLoad: number): Promise { @@ -213,7 +218,7 @@ export class AzureCommunicationChatAdapter implements ChatAdapter { on(event: 'participantsAdded', listener: ParticipantsAddedListener): void; on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void; on(event: 'topicChanged', listener: TopicChangedListener): void; - on(event: 'error', listener: (e: Error) => void): void; + on(event: 'error', listener: ChatErrorListener): void; // eslint-disable-next-line @typescript-eslint/no-explicit-any on(event: ChatEvent, listener: (e: any) => void): void { @@ -226,12 +231,23 @@ export class AzureCommunicationChatAdapter implements ChatAdapter { off(event: 'participantsAdded', listener: ParticipantsAddedListener): void; off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void; off(event: 'topicChanged', listener: TopicChangedListener): void; - off(event: 'error', listener: (e: Error) => void): void; + off(event: 'error', listener: ChatErrorListener): void; // eslint-disable-next-line @typescript-eslint/no-explicit-any off(event: ChatEvent, listener: (e: any) => void): void { this.emitter.off(event, listener); } + + private async asyncTeeErrorToEventEmitter(f: () => Promise): Promise { + try { + return await f(); + } catch (error) { + // Stateful chat client wraps all relevant errors as `ChatError`. + const e = error as ChatError; + this.emitter.emit('error', { operation: e.target, error: e.inner }); + throw error; + } + } } const convertEventToChatMessage = (event: ChatMessageReceivedEvent): ChatMessage => { diff --git a/packages/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts b/packages/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts index 1e63f13b1dc..4286d25128b 100644 --- a/packages/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts +++ b/packages/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts @@ -6,6 +6,7 @@ import type { ChatMessage, ChatParticipant } from '@azure/communication-chat'; import type { CommunicationUserKind } from '@azure/communication-common'; export type ChatUIState = { + // FIXME(Delete?) // Self-contained state for composite error?: Error; }; @@ -15,8 +16,19 @@ export type ChatCompositeClientState = { userId: string; displayName: string; thread: ChatThreadClientState; + /** + * Latest error encountered for each operation performed via the adapter. + */ + latestErrors: ChatAdapterErrors; }; +/** + * ChatAdapter stores the latest error for each operation in the state. + * + * `operation` is a ChatAdapter defined string for each unique operation performed by the adapter. + */ +export type ChatAdapterErrors = { [operation: string]: Error }; + export type ChatState = ChatUIState & ChatCompositeClientState; export interface ChatAdapter { @@ -42,7 +54,7 @@ export interface ChatAdapter { on(event: 'participantsAdded', listener: ParticipantsAddedListener): void; on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void; on(event: 'topicChanged', listener: TopicChangedListener): void; - on(event: 'error', listener: (e: Error) => void): void; + on(event: 'error', listener: ChatErrorListener): void; off(event: 'messageReceived', listener: MessageReceivedListener): void; off(event: 'messageSent', listener: MessageSentListener): void; @@ -50,7 +62,7 @@ export interface ChatAdapter { off(event: 'participantsAdded', listener: ParticipantsAddedListener): void; off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void; off(event: 'topicChanged', listener: TopicChangedListener): void; - off(event: 'error', listener: (e: Error) => void): void; + off(event: 'error', listener: ChatErrorListener): void; } export type MessageReceivedListener = (event: { message: ChatMessage }) => void; @@ -64,6 +76,14 @@ export type ParticipantsRemovedListener = (event: { participantsRemoved: ChatParticipant[]; removedBy: ChatParticipant; }) => void; +/** + * Listener for error events. + * + * Each failed operation in the {@Link ChatAdapter} triggers an 'error' event. + * `operation` is a {@Link ChatAdapter} defined string for each unique operation performed + * by the adapter. + */ +export type ChatErrorListener = (event: { operation: string; error: Error }) => void; export type TopicChangedListener = (event: { topic: string }) => void; export type ChatEvent = | 'messageReceived' diff --git a/packages/react-composites/src/composites/ChatComposite/adapter/StubChatClient.ts b/packages/react-composites/src/composites/ChatComposite/adapter/StubChatClient.ts new file mode 100644 index 00000000000..4345b3b1cdb --- /dev/null +++ b/packages/react-composites/src/composites/ChatComposite/adapter/StubChatClient.ts @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { + AddChatParticipantsResult, + ChatClient, + ChatMessage, + ChatMessageReadReceipt, + ChatParticipant, + ChatThreadClient, + ChatThreadItem, + ChatThreadProperties, + CreateChatThreadResult, + SendChatMessageResult +} from '@azure/communication-chat'; +import { PagedAsyncIterableIterator } from '@azure/core-paging'; + +type PublicInterface = { [K in keyof T]: T[K] }; + +// A public interface compatible stub for ChatClient. +export class StubChatClient implements PublicInterface { + private threadClient; + + /** + * @param threadClient If set, an implementation of ChatThreadClient interface that is returned for *all* calls to + * {@getChatThreadClient()}. + */ + constructor(threadClient?: PublicInterface) { + this.threadClient = threadClient; + } + + getChatThreadClient(): ChatThreadClient { + if (this.threadClient === undefined) { + throw Error('stub method not implemented'); + } + return this.threadClient; + } + createChatThread(): Promise { + return Promise.resolve({}); + } + listChatThreads(): PagedAsyncIterableIterator { + return pagedAsyncIterator([]); + } + deleteChatThread(): Promise { + return Promise.resolve(); + } + startRealtimeNotifications(): Promise { + return Promise.resolve(); + } + stopRealtimeNotifications(): Promise { + return Promise.resolve(); + } + on(): void { + return; + } + off(): void { + return; + } +} + +// A public interface compatible stub for ChatThreadClient. +export class StubChatThreadClient implements PublicInterface { + readonly threadId: string; + + constructor(threadId?: string) { + this.threadId = threadId ?? ''; + } + getProperties(): Promise { + return Promise.resolve({ id: '', topic: '', createdOn: new Date(0) }); + } + updateTopic(): Promise { + return Promise.resolve(); + } + sendMessage(): Promise { + return Promise.resolve({ id: '' }); + } + getMessage(): Promise { + return Promise.resolve({ id: '', type: 'text', sequenceId: '', version: '', createdOn: new Date(0) }); + } + listMessages(): PagedAsyncIterableIterator { + return pagedAsyncIterator([]); + } + deleteMessage(): Promise { + return Promise.resolve(); + } + updateMessage(): Promise { + return Promise.resolve(); + } + addParticipants(): Promise { + return Promise.resolve({}); + } + listParticipants(): PagedAsyncIterableIterator { + return pagedAsyncIterator([]); + } + removeParticipant(): Promise { + return Promise.resolve(); + } + sendTypingNotification(): Promise { + return Promise.resolve(false); + } + sendReadReceipt(): Promise { + return Promise.resolve(); + } + listReadReceipts(): PagedAsyncIterableIterator { + return pagedAsyncIterator([]); + } +} + +// A paged async operator that asynchronously iterates over values in an array. +// In paging mode, the whole array is returned as a single page, ignoring all page size options. +export const pagedAsyncIterator = (values: T[]): PagedAsyncIterableIterator => { + async function* listAll(values: T[]): AsyncIterableIterator { + yield* values; + } + + async function* listByPage(): AsyncIterableIterator { + yield* [values]; + } + + const iter = listAll(values); + + return { + next(): Promise> { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return listByPage(); + } + }; +}; diff --git a/packages/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts b/packages/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts index 544b3d21ad6..27747941137 100644 --- a/packages/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts +++ b/packages/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts @@ -3,7 +3,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { ChatClientState, ChatThreadClientState } from 'chat-stateful-client'; +import { ChatClientState, ChatErrors, ChatThreadClientState } from 'chat-stateful-client'; import { useState, useEffect, useRef, useMemo } from 'react'; import { ChatState } from '../adapter/ChatAdapter'; import { useAdapter } from '../adapter/ChatAdapterProvider'; @@ -71,10 +71,16 @@ export const useSelectorWithAdaptation = < }; const memoizeState = memoizeOne( - (userId: CommunicationIdentifierKind, displayName: string, threads: { [key: string]: ChatThreadClientState }) => ({ + ( + userId: CommunicationIdentifierKind, + displayName: string, + threads: { [key: string]: ChatThreadClientState }, + latestErrors: ChatErrors + ) => ({ userId, displayName, - threads + threads, + latestErrors }) ); @@ -84,6 +90,20 @@ const adaptCompositeState = (compositeState: ChatState): ChatClientState => { return memoizeState( { kind: 'communicationUser', communicationUserId: compositeState.userId }, compositeState.displayName, - memoizeThreads(compositeState.thread) + memoizeThreads(compositeState.thread), + // This is an unsafe type expansion. + // compositeState.latestErrors can contain properties that are not valid in ChatErrors. + // + // But there is no way to check for valid property names at runtime: + // - The set of valid property names is built from types in the @azure/communication-chat. + // Thus we don't have a literal array of allowed strings at runtime. + // - Due to minification / uglification, the property names from the objects at runtime can't be used + // to compare against permissible values inferred from the types. + // + // This is not a huge problem -- it simply means that our adapted selector will include some extra operations + // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g., + // just displaying them in some UI surface) will continue to work for these operations. Handling of + // specific operations (e.g., acting on errors related to permission issues) will ignore these operations. + compositeState.latestErrors as ChatErrors ); }; diff --git a/packages/react-composites/src/composites/ChatComposite/index.ts b/packages/react-composites/src/composites/ChatComposite/index.ts index 88437a6bc09..aae585db4ff 100644 --- a/packages/react-composites/src/composites/ChatComposite/index.ts +++ b/packages/react-composites/src/composites/ChatComposite/index.ts @@ -9,9 +9,11 @@ export type { ChatCompositeProps, ChatOptions } from './ChatComposite'; export type { ChatAdapter, + ChatAdapterErrors, ChatCompositeClientState, ChatState, ChatUIState, + ChatErrorListener, MessageReadListener, MessageReceivedListener, MessageSentListener, diff --git a/samples/StaticHtmlComposites/index.html b/samples/StaticHtmlComposites/index.html index 23199cb5fba..37f47d2ea46 100644 --- a/samples/StaticHtmlComposites/index.html +++ b/samples/StaticHtmlComposites/index.html @@ -5,8 +5,8 @@ -
-
+
+