diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000000000000000000000000000000000000..7c32b6fb10ba746d9ae829a6560970b1f51b8704
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,10 @@
+module.exports = {
+  plugins: ["prettier"],
+  extends: ["react-app"],
+  rules: {
+    "prettier/prettier": "error",
+    "no-unused-vars": "off",
+    "no-loop-func": "off",
+    "no-restricted-globals": "off"
+  }
+};
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000000000000000000000000000000000000..f62e834cd8f2df1a7e295d5fd465a2e5dd1fe459
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,4 @@
+{
+    "singleQuote": true,
+    "trailingComma": "none"
+}
diff --git a/package.json b/package.json
index 64025a752580e2ef158039c48bf66a41e04c0b9c..4a05b1ee1274174043a0e615087fa032600c381a 100644
--- a/package.json
+++ b/package.json
@@ -44,18 +44,6 @@
     "shelljs": "^0.8.2",
     "source-map-support": "^0.5.21"
   },
-  "eslintConfig": {
-    "extends": "react-app",
-    "rules": {
-      "no-unused-vars": "off",
-      "no-loop-func": "off",
-      "no-restricted-globals": "off"
-    }
-  },
-  "prettier": {
-    "singleQuote": true,
-    "trailingComma": "none"
-  },
   "resolutions": {
     "@babel/preset-env": "^7.15.1",
     "@babel/core": "^7.15.1",
diff --git a/packages/desktop-client/config/webpack.config.js b/packages/desktop-client/config/webpack.config.js
index 7982f08d937caeaf86956d79cbcef3d8aa5180fb..09955b849bdcdc79f8644af930c19ac8ba60bf23 100644
--- a/packages/desktop-client/config/webpack.config.js
+++ b/packages/desktop-client/config/webpack.config.js
@@ -518,6 +518,10 @@ module.exports = function(webpackEnv) {
       // https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
       // You can remove this if you don't use Moment.js:
       new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
+      // Pikaday throws a warning if Moment.js is not installed however it doesn't
+      // actually require it to be installed. As we don't use Moment.js ourselves
+      // then we can just silence this warning.
+      new webpack.IgnorePlugin(/moment$/, /pikaday$/),
       !(isEnvDevelopment || process.env.PERF_BUILD) &&
         new webpack.IgnorePlugin(/perf-deets\/frontend/),
       // Generate a service worker script that will precache, and keep up to date,
diff --git a/packages/desktop-client/src/components/Box.js b/packages/desktop-client/src/components/Box.js
index 6360eb13f738d00b375ffc46aab08e59c2272e25..0649804b387b45b34857edb0e6c2a37a0512b3ce 100644
--- a/packages/desktop-client/src/components/Box.js
+++ b/packages/desktop-client/src/components/Box.js
@@ -9,14 +9,18 @@ function getFlex(flex) {
 }
 
 function Box({ flex, children, direction, style }) {
-  return <div
+  return (
+    <div
       style={{
         ...style,
         flex: getFlex(flex),
         display: 'flex',
         flexDirection: direction || 'column'
       }}
-    >{children}</div>;
+    >
+      {children}
+    </div>
+  );
 }
 
 export default Box;
diff --git a/packages/desktop-client/src/components/Debugger.js b/packages/desktop-client/src/components/Debugger.js
index f65899790b43040d1ca58c9cd122ccfd1b987d58..e91d931af64c3467ec6a7d6b9c7287f57facd82d 100644
--- a/packages/desktop-client/src/components/Debugger.js
+++ b/packages/desktop-client/src/components/Debugger.js
@@ -206,7 +206,7 @@ class Debugger extends React.Component {
                   height: 10,
                   backgroundColor: '#303030',
                   marginRight: 10,
-                  borderRadius: 10,
+                  borderRadius: 10
                 }}
               />
               <Button onClick={this.toggleRecord} style={{ marginRight: 10 }}>
diff --git a/packages/desktop-client/src/components/FatalError.js b/packages/desktop-client/src/components/FatalError.js
index 25b5489c697ecda67a67899218eb6af02825b956..48dd267787f209bfda1410865ceed10a236175f0 100644
--- a/packages/desktop-client/src/components/FatalError.js
+++ b/packages/desktop-client/src/components/FatalError.js
@@ -99,7 +99,9 @@ class FatalError extends React.Component {
               .
             </P>
             <P>
-              <Button onClick={() => window.Actual.relaunch()}>{buttonText}</Button>
+              <Button onClick={() => window.Actual.relaunch()}>
+                {buttonText}
+              </Button>
             </P>
             <P isLast={true} style={{ fontSize: 11 }}>
               <Link
diff --git a/packages/desktop-client/src/components/FinancesApp.js b/packages/desktop-client/src/components/FinancesApp.js
index 65486b468fb024678fb131379c73e47c8050f3e7..4f2be90d7c889d64d69f49da0442d379f136b76e 100644
--- a/packages/desktop-client/src/components/FinancesApp.js
+++ b/packages/desktop-client/src/components/FinancesApp.js
@@ -277,7 +277,4 @@ function FinancesAppWithContext(props) {
   );
 }
 
-export default connect(
-  null,
-  actions
-)(FinancesAppWithContext);
+export default connect(null, actions)(FinancesAppWithContext);
diff --git a/packages/desktop-client/src/components/accounts/Account.js b/packages/desktop-client/src/components/accounts/Account.js
index 4a13dff7c90280de04631e346604e6d7329e33b9..e17fd8a97962b217b0e11a6a0b31990927a0dc82 100644
--- a/packages/desktop-client/src/components/accounts/Account.js
+++ b/packages/desktop-client/src/components/accounts/Account.js
@@ -642,7 +642,7 @@ const AccountHeader = React.memo(
     let searchInput = useRef(null);
     let splitsExpanded = useSplitsExpanded();
 
-    let canSync = syncEnabled && (account && account.account_id);
+    let canSync = syncEnabled && account && account.account_id;
     if (!account) {
       // All accounts - check for any syncable account
       canSync = !!accounts.find(account => !!account.account_id);
@@ -1701,9 +1701,9 @@ class AccountInternal extends React.PureComponent {
                     }
                     showAccount={
                       !accountId ||
-                      (accountId === 'offbudget' ||
-                        accountId === 'budgeted' ||
-                        accountId === 'uncategorized')
+                      accountId === 'offbudget' ||
+                      accountId === 'budgeted' ||
+                      accountId === 'uncategorized'
                     }
                     isAdding={this.state.isAdding}
                     isNew={this.isNew}
diff --git a/packages/desktop-client/src/components/accounts/Filters.js b/packages/desktop-client/src/components/accounts/Filters.js
index 44c0bf49aed27025e8816309500899dfa5e402bc..1ac95080504b239f70b8f0eb396a3f3c04e5ee6e 100644
--- a/packages/desktop-client/src/components/accounts/Filters.js
+++ b/packages/desktop-client/src/components/accounts/Filters.js
@@ -149,7 +149,11 @@ function ConfigureField({ field, op, value, dispatch, onApply }) {
                       ['amount-outflow', 'Amount (outflow)']
                     ]
                   : field === 'date'
-                  ? [['date', 'Date'], ['month', 'Month'], ['year', 'Year']]
+                  ? [
+                      ['date', 'Date'],
+                      ['month', 'Month'],
+                      ['year', 'Year']
+                    ]
                   : null
               }
               value={subfield}
diff --git a/packages/desktop-client/src/components/manager/ManagementApp.js b/packages/desktop-client/src/components/manager/ManagementApp.js
index bbf702ae13dc23c9b70590f678cf8ddc5071113d..cc737890c7743e0fa31c164240fc987453683f20 100644
--- a/packages/desktop-client/src/components/manager/ManagementApp.js
+++ b/packages/desktop-client/src/components/manager/ManagementApp.js
@@ -230,17 +230,14 @@ class ManagementApp extends React.Component {
   }
 }
 
-export default connect(
-  state => {
-    let { modalStack } = state.modals;
-
-    return {
-      files: state.budgets.allFiles,
-      userData: state.user.data,
-      managerHasInitialized: state.app.managerHasInitialized,
-      loadingText: state.app.loadingText,
-      currentModals: modalStack.map(modal => modal.name)
-    };
-  },
-  actions
-)(ManagementApp);
+export default connect(state => {
+  let { modalStack } = state.modals;
+
+  return {
+    files: state.budgets.allFiles,
+    userData: state.user.data,
+    managerHasInitialized: state.app.managerHasInitialized,
+    loadingText: state.app.loadingText,
+    currentModals: modalStack.map(modal => modal.name)
+  };
+}, actions)(ManagementApp);
diff --git a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js
index cc50b4e9d38c0e0c094a7dea507ce30eaaccaa6f..80601fe198c63751786e34ba1233760f2da6ea07 100644
--- a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js
+++ b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js
@@ -69,10 +69,7 @@ export function ConfirmPasswordForm({ buttons, onSetPassword, onError }) {
         </label>
         <View style={{ flex: 1 }} />
         {buttons}
-        <ButtonWithLoading
-          primary
-          loading={loading}
-        >
+        <ButtonWithLoading primary loading={loading}>
           OK
         </ButtonWithLoading>
       </View>
diff --git a/packages/desktop-client/src/components/modals/WelcomeScreen.js b/packages/desktop-client/src/components/modals/WelcomeScreen.js
index 772f36199b271f185715b54653a59a9315390f69..bc2094db6e6d6a012ddc61ac9164ab3738682245 100644
--- a/packages/desktop-client/src/components/modals/WelcomeScreen.js
+++ b/packages/desktop-client/src/components/modals/WelcomeScreen.js
@@ -70,7 +70,4 @@ function WelcomeScreen({ modalProps, actions }) {
   );
 }
 
-export default connect(
-  null,
-  actions
-)(WelcomeScreen);
+export default connect(null, actions)(WelcomeScreen);
diff --git a/packages/desktop-client/src/components/reports/Change.js b/packages/desktop-client/src/components/reports/Change.js
index 21b3aab3cf20ae58165fecc3c7b4f35c8550d6d6..61e9a373d96801194b27beeec2ecda8fe7bbbb0d 100644
--- a/packages/desktop-client/src/components/reports/Change.js
+++ b/packages/desktop-client/src/components/reports/Change.js
@@ -2,7 +2,7 @@ import React from 'react';
 import { styles } from 'loot-design/src/style';
 import { integerToCurrency } from 'loot-core/src/shared/util';
 import { Block } from 'loot-design/src/components/common';
-import { colors } from 'loot-design/src/style'
+import { colors } from 'loot-design/src/style';
 
 function Change({ amount, style }) {
   return (
diff --git a/packages/desktop-client/src/components/reports/Overview.js b/packages/desktop-client/src/components/reports/Overview.js
index 5e2ba9313a9889f510e92c658b821a73bd2c6f86..2366656130d67e4e1c25a647dcb9c28102140811 100644
--- a/packages/desktop-client/src/components/reports/Overview.js
+++ b/packages/desktop-client/src/components/reports/Overview.js
@@ -110,7 +110,10 @@ function CashFlowCard() {
   const end = monthUtils.currentDay();
   const start = monthUtils.currentMonth() + '-01';
 
-  const data = useReport('cash_flow_simple', useArgsMemo(simpleCashFlow)(start, end));
+  const data = useReport(
+    'cash_flow_simple',
+    useArgsMemo(simpleCashFlow)(start, end)
+  );
   if (!data) {
     return null;
   }
@@ -218,9 +221,9 @@ function CashFlowCard() {
 function Overview({ accounts }) {
   return (
     <View
-    style={[
-      styles.page,
-      { paddingLeft: 40, paddingRight: 40, minWidth: 700 }
+      style={[
+        styles.page,
+        { paddingLeft: 40, paddingRight: 40, minWidth: 700 }
       ]}
     >
       <View
diff --git a/packages/desktop-client/src/components/tutorial/BudgetInitial.js b/packages/desktop-client/src/components/tutorial/BudgetInitial.js
index 1b07883c9fac7c7153ee1999349d4f19530cba72..4e1b577b6292cbfde3c2354bd5d1a8f4882b3a3d 100644
--- a/packages/desktop-client/src/components/tutorial/BudgetInitial.js
+++ b/packages/desktop-client/src/components/tutorial/BudgetInitial.js
@@ -15,9 +15,9 @@ function BudgetInitial({ accounts, navigationProps }) {
       {!minimized && (
         <React.Fragment>
           <P>
-            You should see all of your current accounts' balance available
-            to budget. Click on the budgeted column for a category create a
-            budget. Keep doing this until your "To Budget" amount is zero.
+            You should see all of your current accounts' balance available to
+            budget. Click on the budgeted column for a category create a budget.
+            Keep doing this until your "To Budget" amount is zero.
           </P>
           <P>
             Don't worry too much about your initial budget. Just guess. You'll
diff --git a/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js b/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js
index 60904aea59a6b452369fd859b82870ca7df1952b..089ac9be920ebbe7016302a73b44cc953c48e83a 100644
--- a/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js
+++ b/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js
@@ -61,7 +61,6 @@ function BudgetNextMonth({ stepTwo, navigationProps }) {
   );
 }
 
-export default connect(
-  null,
-  dispatch => bindActionCreators(actions, dispatch)
-)(BudgetNextMonth);
+export default connect(null, dispatch => bindActionCreators(actions, dispatch))(
+  BudgetNextMonth
+);
diff --git a/packages/desktop-client/src/components/tutorial/CategoryBalance.js b/packages/desktop-client/src/components/tutorial/CategoryBalance.js
index 76d983570802b2218fb8060d2c49f4a4f503dab7..5a3da2235ef1fe3f507e23976aa3c2a79d0c6dcb 100644
--- a/packages/desktop-client/src/components/tutorial/CategoryBalance.js
+++ b/packages/desktop-client/src/components/tutorial/CategoryBalance.js
@@ -5,7 +5,7 @@ import { styles, colors } from 'loot-design/src/style';
 import { Standalone, Title, useMinimized } from './common';
 
 function CategoryBalance({ targetRect, navigationProps }) {
-  let [minimized, toggle] = useMinimized()
+  let [minimized, toggle] = useMinimized();
 
   return (
     <Standalone>
diff --git a/packages/desktop-client/src/components/tutorial/Overspending.js b/packages/desktop-client/src/components/tutorial/Overspending.js
index a1e3bef5783f4ef87cbc60f189d47f957e77e3a8..68f4188670d8091a43e84dfca3eae0c339bb94b3 100644
--- a/packages/desktop-client/src/components/tutorial/Overspending.js
+++ b/packages/desktop-client/src/components/tutorial/Overspending.js
@@ -96,7 +96,6 @@ function Overspending({ navigationProps, stepTwo }) {
   );
 }
 
-export default connect(
-  null,
-  dispatch => bindActionCreators(actions, dispatch)
-)(Overspending);
+export default connect(null, dispatch => bindActionCreators(actions, dispatch))(
+  Overspending
+);
diff --git a/packages/desktop-client/src/components/tutorial/TransactionAdd.js b/packages/desktop-client/src/components/tutorial/TransactionAdd.js
index e812656b9741242a79cf9515ab5e5a6d83af47f9..99738c3ef48acad04d19ac83ec0bfb093c37645d 100644
--- a/packages/desktop-client/src/components/tutorial/TransactionAdd.js
+++ b/packages/desktop-client/src/components/tutorial/TransactionAdd.js
@@ -33,8 +33,8 @@ function TransactionAdd({ targetRect, navigationProps }) {
         </P>
 
         <P isLast={true}>
-          Try <strong>clicking "Add New"</strong> to see how adding
-          transactions affects your budget.
+          Try <strong>clicking "Add New"</strong> to see how adding transactions
+          affects your budget.
         </P>
 
         <Navigation {...navigationProps} showBack={false} />
diff --git a/packages/desktop-client/src/components/tutorial/TransactionFinalize.js b/packages/desktop-client/src/components/tutorial/TransactionFinalize.js
index b702edf1ce2a4124a14d6bdf4e779121ff9d4de7..0a27f7fca0b740b022c1347043ed151f2d38ea1c 100644
--- a/packages/desktop-client/src/components/tutorial/TransactionFinalize.js
+++ b/packages/desktop-client/src/components/tutorial/TransactionFinalize.js
@@ -3,7 +3,7 @@ import { P } from 'loot-design/src/components/common';
 import { css } from 'glamor';
 import Navigation from './Navigation';
 import * as monthUtils from 'loot-core/src/shared/months';
-import {Standalone} from './common';
+import { Standalone } from './common';
 
 function TransactionFinalize({ navigationProps }) {
   return (
diff --git a/packages/loot-core/package.json b/packages/loot-core/package.json
index ab0eb87b729f8ac25480f69ce07c16a04135be97..1208f3b14c0d1eb9511c44d43f348e1a99465436 100644
--- a/packages/loot-core/package.json
+++ b/packages/loot-core/package.json
@@ -47,9 +47,10 @@
     "damerau-levenshtein": "^1.0.4",
     "date-fns": "2.0.0-alpha.27",
     "eslint": "5.6.0",
+    "eslint-plugin-prettier": "^3.1.4",
     "esm": "^3.0.82",
     "fake-indexeddb": "^3.1.3",
-    "fast-check": "^2.11.0",
+    "fast-check": "2.13.0",
     "fast-glob": "^2.2.0",
     "jest": "25.2.7",
     "jsverify": "^0.8.4",
@@ -60,6 +61,7 @@
     "mockdate": "^3.0.5",
     "murmurhash": "^0.0.2",
     "perf-deets": "^1.0.15",
+    "prettier": "^1.19.1",
     "sanitize-filename": "^1.6.1",
     "search-query-parser": "^1.3.0",
     "snapshot-diff": "^0.2.2",
diff --git a/packages/loot-core/src/client/actions/debug.js b/packages/loot-core/src/client/actions/debug.js
index e4cda0d9a6c6565b990786da4b6a28b453295592..afa90415e997eeb681bbc919dbbc71773274a7f5 100644
--- a/packages/loot-core/src/client/actions/debug.js
+++ b/packages/loot-core/src/client/actions/debug.js
@@ -5,5 +5,5 @@ export function debugCell(sheet, name) {
     type: constants.DEBUG_CELL,
     sheet,
     name
-  }
+  };
 }
diff --git a/packages/loot-core/src/mocks/budget.js b/packages/loot-core/src/mocks/budget.js
index 7de8781efbe2ef01e28238b7eb1f7646e94162fc..5e03bf4e6079221335643e9d4baf8824307b94b9 100644
--- a/packages/loot-core/src/mocks/budget.js
+++ b/packages/loot-core/src/mocks/budget.js
@@ -439,15 +439,19 @@ async function fillOther(handlers, account, payees, groups) {
 
 async function createBudget(accounts, payees, groups) {
   let primaryAccount = accounts.find(a => (a.name = 'Bank of America'));
-  let earliestDate = (await db.first(
-    `SELECT * FROM v_transactions t LEFT JOIN accounts a ON t.account = a.id
+  let earliestDate = (
+    await db.first(
+      `SELECT * FROM v_transactions t LEFT JOIN accounts a ON t.account = a.id
        WHERE a.offbudget = 0 AND t.is_child = 0 ORDER BY date ASC LIMIT 1`
-  )).date;
-  let earliestPrimaryDate = (await db.first(
-    `SELECT * FROM v_transactions t LEFT JOIN accounts a ON t.account = a.id
+    )
+  ).date;
+  let earliestPrimaryDate = (
+    await db.first(
+      `SELECT * FROM v_transactions t LEFT JOIN accounts a ON t.account = a.id
        WHERE a.id = ? AND a.offbudget = 0 AND t.is_child = 0 ORDER BY date ASC LIMIT 1`,
-    [primaryAccount.id]
-  )).date;
+      [primaryAccount.id]
+    )
+  ).date;
 
   let start = monthUtils.monthFromDate(db.fromDateRepr(earliestDate));
   let end = monthUtils.currentMonth();
diff --git a/packages/loot-core/src/platform/client/fetch/index.browser.js b/packages/loot-core/src/platform/client/fetch/index.browser.js
index 32f445c757c26d414efdecde2447666dd713a5bb..a375a3a0ce9b7010e03d0ccf5121230a0e146a38 100644
--- a/packages/loot-core/src/platform/client/fetch/index.browser.js
+++ b/packages/loot-core/src/platform/client/fetch/index.browser.js
@@ -172,7 +172,10 @@ module.exports.listen = function listen(name, cb) {
 
   return () => {
     let arr = listeners.get(name);
-    listeners.set(name, arr.filter(cb_ => cb_ !== cb));
+    listeners.set(
+      name,
+      arr.filter(cb_ => cb_ !== cb)
+    );
   };
 };
 
diff --git a/packages/loot-core/src/platform/client/fetch/index.mobile.js b/packages/loot-core/src/platform/client/fetch/index.mobile.js
index 14df5f4d855e0cd2c0c2f99f8cecce295b6e543a..133a09037ab6025311bb271eba178e3c050f5859 100644
--- a/packages/loot-core/src/platform/client/fetch/index.mobile.js
+++ b/packages/loot-core/src/platform/client/fetch/index.mobile.js
@@ -82,7 +82,10 @@ function listen(name, cb) {
 
   return () => {
     let arr = listeners.get(name);
-    listeners.set(name, arr.filter(cb_ => cb_ !== cb));
+    listeners.set(
+      name,
+      arr.filter(cb_ => cb_ !== cb)
+    );
   };
 }
 
diff --git a/packages/loot-core/src/platform/client/fetch/index.testing.js b/packages/loot-core/src/platform/client/fetch/index.testing.js
index 7664d5b4355c78da3f0fd25d17af9f48994adeee..bef3633b8e91b7fa198c1abe522f9dfb36629e68 100644
--- a/packages/loot-core/src/platform/client/fetch/index.testing.js
+++ b/packages/loot-core/src/platform/client/fetch/index.testing.js
@@ -56,6 +56,9 @@ module.exports.listen = function listen(name, cb) {
 
   return () => {
     let arr = listeners.get(name);
-    listeners.set(name, arr.filter(cb_ => cb_ !== cb));
+    listeners.set(
+      name,
+      arr.filter(cb_ => cb_ !== cb)
+    );
   };
 };
diff --git a/packages/loot-core/src/platform/client/fetch/index.web.js b/packages/loot-core/src/platform/client/fetch/index.web.js
index d50b8f093f407a29776209f4ea51baf7d7e9c83b..37d8880edeb16b2a5634c00a24108fbe3140c854 100644
--- a/packages/loot-core/src/platform/client/fetch/index.web.js
+++ b/packages/loot-core/src/platform/client/fetch/index.web.js
@@ -117,7 +117,10 @@ module.exports.listen = function listen(name, cb) {
   return () => {
     let arr = listeners.get(name);
     if (arr) {
-      listeners.set(name, arr.filter(cb_ => cb_ !== cb));
+      listeners.set(
+        name,
+        arr.filter(cb_ => cb_ !== cb)
+      );
     }
   };
 };
diff --git a/packages/loot-core/src/platform/exceptions/index.testing.js b/packages/loot-core/src/platform/exceptions/index.testing.js
index 670d02154e295e2bd369b2e15e8f889a0c72e794..cc1a66bfacd5e71666b8a5eac248b958d5a69a84 100644
--- a/packages/loot-core/src/platform/exceptions/index.testing.js
+++ b/packages/loot-core/src/platform/exceptions/index.testing.js
@@ -1,5 +1,3 @@
-export function captureException(exc) {
-}
+export function captureException(exc) {}
 
-export function captureBreadcrumb(info) {
-}
+export function captureBreadcrumb(info) {}
diff --git a/packages/loot-core/src/platform/server/fs/index.web.js b/packages/loot-core/src/platform/server/fs/index.web.js
index a819f0ec6aa32d7f4acf3426c0b48fe6d54f9ed1..591824f745c1bab5501780511b378ecdb20b9c07 100644
--- a/packages/loot-core/src/platform/server/fs/index.web.js
+++ b/packages/loot-core/src/platform/server/fs/index.web.js
@@ -167,9 +167,9 @@ async function _removeFile(filepath) {
 
 // Load files from the server that should exist by default
 async function populateDefaultFilesystem() {
-  let index = await (await fetch(
-    process.env.PUBLIC_URL + 'data-file-index.txt'
-  )).text();
+  let index = await (
+    await fetch(process.env.PUBLIC_URL + 'data-file-index.txt')
+  ).text();
   let files = index
     .split('\n')
     .map(name => name.trim())
diff --git a/packages/loot-core/src/server/accounts/link.js b/packages/loot-core/src/server/accounts/link.js
index 9d65b416ec15b3f298e31ca6c1a7bbc1c2349970..7f97be6b1754a68286e5990aaf9a6b3653192ebd 100644
--- a/packages/loot-core/src/server/accounts/link.js
+++ b/packages/loot-core/src/server/accounts/link.js
@@ -1,6 +1,6 @@
 import asyncStorage from '../../platform/server/asyncStorage';
 import * as db from '../db';
-import { getServer  } from '../server-config';
+import { getServer } from '../server-config';
 import * as bankSync from './sync';
 import { fromPlaidAccountType } from '../../shared/accounts';
 import { amountToInteger } from '../../shared/util';
diff --git a/packages/loot-core/src/server/accounts/title/lower-case.js b/packages/loot-core/src/server/accounts/title/lower-case.js
index 3ad022ef5ad6a8956934070995f1382df18d4770..ab90383dd290cb129562bf1043573060cf1bf81f 100644
--- a/packages/loot-core/src/server/accounts/title/lower-case.js
+++ b/packages/loot-core/src/server/accounts/title/lower-case.js
@@ -1,18 +1,18 @@
 const conjunctions = [
-  'for',
+  'for', //
   'and',
   'nor',
   'but',
   'or',
   'yet',
   'so'
-]
+];
 
 const articles = [
-  'a',
+  'a', //
   'an',
   'the'
-]
+];
 
 const prepositions = [
   'aboard',
@@ -84,10 +84,6 @@ const prepositions = [
   'with',
   'within',
   'without'
-]
+];
 
-module.exports = new Set([
-  ...conjunctions,
-  ...articles,
-  ...prepositions
-])
+module.exports = new Set([...conjunctions, ...articles, ...prepositions]);
diff --git a/packages/loot-core/src/server/accounts/transactions.js b/packages/loot-core/src/server/accounts/transactions.js
index 235d54cb032cf76fca200a9de6e60429d586d4af..092379e5286f520e82e938e94ae6e5bc992139a6 100644
--- a/packages/loot-core/src/server/accounts/transactions.js
+++ b/packages/loot-core/src/server/accounts/transactions.js
@@ -116,9 +116,9 @@ export async function batchUpdateTransactions({
     await Promise.all(allAdded.map(t => transfer.onInsert(t)));
 
     // Return any updates from here
-    resultUpdated = (await Promise.all(
-      allUpdated.map(t => transfer.onUpdate(t))
-    )).filter(Boolean);
+    resultUpdated = (
+      await Promise.all(allUpdated.map(t => transfer.onUpdate(t)))
+    ).filter(Boolean);
 
     await Promise.all(allDeleted.map(t => transfer.onDelete(t)));
   });
diff --git a/packages/loot-core/src/server/accounts/transfer.js b/packages/loot-core/src/server/accounts/transfer.js
index 19228da6a23496dd7bbf6e88fdc53ec3d9add5d1..716c8fe40034547e0820137d5ae55d9e6d782c1d 100644
--- a/packages/loot-core/src/server/accounts/transfer.js
+++ b/packages/loot-core/src/server/accounts/transfer.js
@@ -6,24 +6,28 @@ async function getPayee(acct) {
 
 async function getTransferredAccount(transaction) {
   if (transaction.payee) {
-    let { transfer_acct, id } = await db.first(
-      'SELECT id, transfer_acct FROM v_payees WHERE id = ?',
-      [transaction.payee]
-    );
+    let {
+      transfer_acct,
+      id
+    } = await db.first('SELECT id, transfer_acct FROM v_payees WHERE id = ?', [
+      transaction.payee
+    ]);
     return transfer_acct;
   }
   return null;
 }
 
 async function clearCategory(transaction, transferAcct) {
-  const { offbudget: fromOffBudget } = await db.first(
-    'SELECT offbudget FROM accounts WHERE id = ?',
-    [transaction.account]
-  );
-  const { offbudget: toOffBudget } = await db.first(
-    'SELECT offbudget FROM accounts WHERE id = ?',
-    [transferAcct]
-  );
+  const {
+    offbudget: fromOffBudget
+  } = await db.first('SELECT offbudget FROM accounts WHERE id = ?', [
+    transaction.account
+  ]);
+  const {
+    offbudget: toOffBudget
+  } = await db.first('SELECT offbudget FROM accounts WHERE id = ?', [
+    transferAcct
+  ]);
 
   // We should clear the category to make sure it's not being
   // accounted for in the budget, unless it should be in the case of
@@ -36,10 +40,11 @@ async function clearCategory(transaction, transferAcct) {
 }
 
 export async function addTransfer(transaction, transferredAccount) {
-  let { id: fromPayee } = await db.first(
-    'SELECT id FROM payees WHERE transfer_acct = ?',
-    [transaction.account]
-  );
+  let {
+    id: fromPayee
+  } = await db.first('SELECT id FROM payees WHERE transfer_acct = ?', [
+    transaction.account
+  ]);
 
   // We need to enforce certain constraints with child transaction transfers
   if (transaction.parent_id) {
diff --git a/packages/loot-core/src/server/aql/exec.test.js b/packages/loot-core/src/server/aql/exec.test.js
index c447ac3911d5187cbddc3c68f696d8254296d062..f64ab128c6c31ef27f386a3231a7ab71dbd5f24d 100644
--- a/packages/loot-core/src/server/aql/exec.test.js
+++ b/packages/loot-core/src/server/aql/exec.test.js
@@ -81,28 +81,34 @@ describe('runQuery', () => {
     expect(data[0].date).toBe('2020-01-04');
 
     // date-month
-    data = (await runQuery(
-      query('transactions')
-        .select({ month: { $month: '$date' } })
-        .serialize()
-    )).data;
+    data = (
+      await runQuery(
+        query('transactions')
+          .select({ month: { $month: '$date' } })
+          .serialize()
+      )
+    ).data;
     expect(data[0].month).toBe('2020-01');
 
     // date-year
-    data = (await runQuery(
-      query('transactions')
-        .select({ year: { $year: '$date' } })
-        .serialize()
-    )).data;
+    data = (
+      await runQuery(
+        query('transactions')
+          .select({ year: { $year: '$date' } })
+          .serialize()
+      )
+    ).data;
     expect(data[0].year).toBe('2020');
 
     // boolean
-    data = (await runQuery(
-      query('transactions')
-        .select(['is_child', 'is_parent'])
-        .raw()
-        .serialize()
-    )).data;
+    data = (
+      await runQuery(
+        query('transactions')
+          .select(['is_child', 'is_parent'])
+          .raw()
+          .serialize()
+      )
+    ).data;
     expect(data[0].is_child).toBe(false);
     expect(data[0].is_parent).toBe(true);
     expect(data[1].is_child).toBe(true);
@@ -128,31 +134,37 @@ describe('runQuery', () => {
     );
     expect(data[0].id).toBe(transId);
 
-    data = (await runQuery(
-      query('transactions')
-        .filter({ date: { $transform: '$month', $eq: { $month: ':month' } } })
-        .select('date')
-        .serialize(),
-      { params: { month: '2020-01-02' } }
-    )).data;
+    data = (
+      await runQuery(
+        query('transactions')
+          .filter({ date: { $transform: '$month', $eq: { $month: ':month' } } })
+          .select('date')
+          .serialize(),
+        { params: { month: '2020-01-02' } }
+      )
+    ).data;
     expect(data[0].id).toBe(transId);
 
-    data = (await runQuery(
-      query('transactions')
-        .filter({ date: { $transform: '$year', $eq: { $year: ':month' } } })
-        .select('date')
-        .serialize(),
-      { params: { month: '2020-01-02' } }
-    )).data;
+    data = (
+      await runQuery(
+        query('transactions')
+          .filter({ date: { $transform: '$year', $eq: { $year: ':month' } } })
+          .select('date')
+          .serialize(),
+        { params: { month: '2020-01-02' } }
+      )
+    ).data;
     expect(data[0].id).toBe(transId);
 
-    data = (await runQuery(
-      query('transactions')
-        .filter({ cleared: ':cleared' })
-        .select('date')
-        .serialize(),
-      { params: { cleared: true } }
-    )).data;
+    data = (
+      await runQuery(
+        query('transactions')
+          .filter({ cleared: ':cleared' })
+          .select('date')
+          .serialize(),
+        { params: { cleared: true } }
+      )
+    ).data;
     expect(data[0].id).toBe(transId);
   });
 
diff --git a/packages/loot-core/src/server/aql/schema/executors.js b/packages/loot-core/src/server/aql/schema/executors.js
index 8df751b7c7e488187be1ad63d58a330582171cf7..5ab925f9c97f5cc1b638d5e6404d07a28b4850be 100644
--- a/packages/loot-core/src/server/aql/schema/executors.js
+++ b/packages/loot-core/src/server/aql/schema/executors.js
@@ -142,7 +142,10 @@ async function execTransactionsGrouped(
 
     rows = await db.all(rowSql, params);
     matched = new Set(
-      [].concat.apply([], rows.map(row => row.matched.split(',')))
+      [].concat.apply(
+        [],
+        rows.map(row => row.matched.split(','))
+      )
     );
   }
 
diff --git a/packages/loot-core/src/server/aql/schema/index.test.js b/packages/loot-core/src/server/aql/schema/index.test.js
index 2704b76b037ad16a5aa68e3eeb28c71837b89879..8b543e3a5ca167961def9f7ecb3d334b686690ed 100644
--- a/packages/loot-core/src/server/aql/schema/index.test.js
+++ b/packages/loot-core/src/server/aql/schema/index.test.js
@@ -10,7 +10,7 @@ describe('schema', () => {
   test('never returns transactions without a date', async () => {
     expect((await db.all('SELECT * FROM transactions')).length).toBe(0);
     expect((await db.all('SELECT * FROM v_transactions')).length).toBe(0);
-    await db.runQuery('INSERT INTO transactions (acct) VALUES (?)', ["foo"]);
+    await db.runQuery('INSERT INTO transactions (acct) VALUES (?)', ['foo']);
     expect((await db.all('SELECT * FROM transactions')).length).toBe(1);
     expect((await db.all('SELECT * FROM v_transactions')).length).toBe(0);
   });
@@ -28,7 +28,7 @@ describe('schema', () => {
     expect((await db.all('SELECT * FROM v_transactions')).length).toBe(0);
     await db.runQuery(
       'INSERT INTO transactions (date, acct, isChild) VALUES (?, ?, ?)',
-      [20200101, "foo", 1]
+      [20200101, 'foo', 1]
     );
     expect((await db.all('SELECT * FROM transactions')).length).toBe(1);
     expect((await db.all('SELECT * FROM v_transactions')).length).toBe(0);
diff --git a/packages/loot-core/src/server/budget/app.js b/packages/loot-core/src/server/budget/app.js
index 3867ea3b9dbf41de63212d1b434c523f57fcaa2b..2ef9ea936902ae1becbbe81208098d51ee6dc689 100644
--- a/packages/loot-core/src/server/budget/app.js
+++ b/packages/loot-core/src/server/budget/app.js
@@ -3,7 +3,6 @@ import { mutator } from '../mutators';
 import { undoable } from '../undo';
 import * as actions from './actions';
 
-
 let app = createApp();
 
 app.method('budget/budget-amount', mutator(undoable(actions.setBudget)));
diff --git a/packages/loot-core/src/server/budget/util.js b/packages/loot-core/src/server/budget/util.js
index 8cc208c3d1968e7dc24dea55e6f142e5cd320deb..ae1a2887e0a717c3b5515a27d4fcb4170fe15429 100644
--- a/packages/loot-core/src/server/budget/util.js
+++ b/packages/loot-core/src/server/budget/util.js
@@ -19,4 +19,3 @@ export function unflatten2(arr) {
   }
   return res;
 }
-
diff --git a/packages/loot-core/src/server/crdt/index.js b/packages/loot-core/src/server/crdt/index.js
index a62ee7991c6fc2eb612b9588d3f8e43e0fdc3b8a..ce714a60b95365bab9ea3b857c67a14864d0d3a5 100644
--- a/packages/loot-core/src/server/crdt/index.js
+++ b/packages/loot-core/src/server/crdt/index.js
@@ -1,4 +1,12 @@
-import * as merkle from "./merkle";
+import * as merkle from './merkle';
 
 export { merkle };
-export { getClock, setClock, makeClock, makeClientId, serializeClock, deserializeClock, Timestamp } from "./timestamp"
+export {
+  getClock,
+  setClock,
+  makeClock,
+  makeClientId,
+  serializeClock,
+  deserializeClock,
+  Timestamp
+} from './timestamp';
diff --git a/packages/loot-core/src/server/main.js b/packages/loot-core/src/server/main.js
index cbda0e7fb24dd311b5691153cf9f678cc5b6c2df..ac80260f6fb17fb5443d8ea90ee65cf39854cbbd 100644
--- a/packages/loot-core/src/server/main.js
+++ b/packages/loot-core/src/server/main.js
@@ -30,7 +30,16 @@ import * as bankSync from './accounts/sync';
 import * as link from './accounts/link';
 import { uniqueFileName, idFromFileName } from './util/budget-name';
 import { mutator, runHandler } from './mutators';
-import { getClock, setClock, makeClock, makeClientId, serializeClock, deserializeClock, Timestamp, merkle } from './crdt';
+import {
+  getClock,
+  setClock,
+  makeClock,
+  makeClientId,
+  serializeClock,
+  deserializeClock,
+  Timestamp,
+  merkle
+} from './crdt';
 import {
   initialFullSync,
   fullSync,
@@ -414,7 +423,10 @@ handlers['category-group-delete'] = mutator(async function({ id, transferId }) {
 
     return batchMessages(async () => {
       if (transferId) {
-        await budget.doTransfer(groupCategories.map(c => c.id), transferId);
+        await budget.doTransfer(
+          groupCategories.map(c => c.id),
+          transferId
+        );
       }
       await db.deleteCategoryGroup({ id }, transferId);
     });
@@ -759,11 +771,15 @@ handlers['accounts-get'] = async function() {
 };
 
 handlers['account-properties'] = async function({ id }) {
-  const { balance } = await db.first(
+  const {
+    balance
+  } = await db.first(
     'SELECT sum(amount) as balance FROM transactions WHERE acct = ? AND isParent = 0 AND tombstone = 0',
     [id]
   );
-  const { count } = await db.first(
+  const {
+    count
+  } = await db.first(
     'SELECT count(id) as count FROM transactions WHERE acct = ? AND tombstone = 0',
     [id]
   );
@@ -902,10 +918,9 @@ handlers['account-close'] = mutator(async function({
         true
       );
 
-      let { id: payeeId } = await db.first(
-        'SELECT id FROM payees WHERE transfer_acct = ?',
-        [id]
-      );
+      let {
+        id: payeeId
+      } = await db.first('SELECT id FROM payees WHERE transfer_acct = ?', [id]);
 
       await batchMessages(() => {
         // TODO: what this should really do is send a special message that
@@ -939,10 +954,11 @@ handlers['account-close'] = mutator(async function({
       // If there is a balance we need to transfer it to the specified
       // account (and possibly categorize it)
       if (balance !== 0) {
-        let { id: payeeId } = await db.first(
-          'SELECT id FROM payees WHERE transfer_acct = ?',
-          [transferAccountId]
-        );
+        let {
+          id: payeeId
+        } = await db.first('SELECT id FROM payees WHERE transfer_acct = ?', [
+          transferAccountId
+        ]);
 
         await handlers['transaction-add']({
           id: uuid.v4Sync(),
@@ -1082,9 +1098,7 @@ handlers['accounts-sync'] = async function({ id }) {
         } else if (err instanceof PostError && err.reason !== 'internal') {
           errors.push({
             accountId: acct.id,
-            message: `Account "${
-              acct.name
-            }" is not linked properly. Please link it again`
+            message: `Account "${acct.name}" is not linked properly. Please link it again`
           });
         } else {
           errors.push({
@@ -1134,10 +1148,9 @@ handlers['transactions-import'] = mutator(function({
 });
 
 handlers['account-unlink'] = mutator(async function({ id }) {
-  let { bank: bankId } = await db.first(
-    'SELECT bank FROM accounts WHERE id = ?',
-    [id]
-  );
+  let {
+    bank: bankId
+  } = await db.first('SELECT bank FROM accounts WHERE id = ?', [id]);
 
   if (!bankId) {
     return 'ok';
@@ -1152,10 +1165,11 @@ handlers['account-unlink'] = mutator(async function({ id }) {
     balance_limit: null
   });
 
-  let { count } = await db.first(
-    'SELECT COUNT(*) as count FROM accounts WHERE bank = ?',
-    [bankId]
-  );
+  let {
+    count
+  } = await db.first('SELECT COUNT(*) as count FROM accounts WHERE bank = ?', [
+    bankId
+  ]);
 
   if (count === 0) {
     // No more accounts are associated with this bank. We can remove
@@ -1545,35 +1559,37 @@ handlers['get-version'] = async function() {
 
 handlers['get-budgets'] = async function() {
   const paths = await fs.listDir(fs.getDocumentDir());
-  const budgets = (await Promise.all(
-    paths.map(async name => {
-      const prefsPath = fs.join(fs.getDocumentDir(), name, 'metadata.json');
-      if (await fs.exists(prefsPath)) {
-        let prefs;
-        try {
-          prefs = JSON.parse(await fs.readFile(prefsPath));
-        } catch (e) {
-          console.log('Error parsing metadata:', e.stack);
-          return;
-        }
+  const budgets = (
+    await Promise.all(
+      paths.map(async name => {
+        const prefsPath = fs.join(fs.getDocumentDir(), name, 'metadata.json');
+        if (await fs.exists(prefsPath)) {
+          let prefs;
+          try {
+            prefs = JSON.parse(await fs.readFile(prefsPath));
+          } catch (e) {
+            console.log('Error parsing metadata:', e.stack);
+            return;
+          }
 
-        // We treat the directory name as the canonical id so that if
-        // the user moves it around/renames/etc, nothing breaks. The
-        // id is stored in prefs just for convenience (and the prefs
-        // will always update to the latest given id)
-        if (name !== DEMO_BUDGET_ID) {
-          return {
-            id: name,
-            cloudFileId: prefs.cloudFileId,
-            groupId: prefs.groupId,
-            name: prefs.budgetName || '(no name)'
-          };
+          // We treat the directory name as the canonical id so that if
+          // the user moves it around/renames/etc, nothing breaks. The
+          // id is stored in prefs just for convenience (and the prefs
+          // will always update to the latest given id)
+          if (name !== DEMO_BUDGET_ID) {
+            return {
+              id: name,
+              cloudFileId: prefs.cloudFileId,
+              groupId: prefs.groupId,
+              name: prefs.budgetName || '(no name)'
+            };
+          }
         }
-      }
 
-      return null;
-    })
-  )).filter(x => x);
+        return null;
+      })
+    )
+  ).filter(x => x);
 
   return budgets;
 };
@@ -2253,7 +2269,13 @@ export const lib = {
   // Expose CRDT mechanisms so server can use them
   merkle,
   timestamp: {
-    getClock, setClock, makeClock, makeClientId, serializeClock, deserializeClock, Timestamp
+    getClock,
+    setClock,
+    makeClock,
+    makeClientId,
+    serializeClock,
+    deserializeClock,
+    Timestamp
   },
   SyncProtoBuf: SyncPb
 };
diff --git a/packages/loot-core/src/server/polyfills.mobile.js b/packages/loot-core/src/server/polyfills.mobile.js
index 2a5bf61b6ce961b8476b29dcd90561fdb8d6b34f..895dd8c7cc5ecd41012b0d0b5cb489b133e454f4 100644
--- a/packages/loot-core/src/server/polyfills.mobile.js
+++ b/packages/loot-core/src/server/polyfills.mobile.js
@@ -1,2 +1,2 @@
 // Mobile needs this
-import 'core-js/modules/es.object.from-entries'
+import 'core-js/modules/es.object.from-entries';
diff --git a/packages/loot-core/src/server/schedules/app.test.js b/packages/loot-core/src/server/schedules/app.test.js
index bf744d9d63b234ea94b11a9a2e219c889987fd58..916244cb568cafee97058e73e861baf7de0ed7eb 100644
--- a/packages/loot-core/src/server/schedules/app.test.js
+++ b/packages/loot-core/src/server/schedules/app.test.js
@@ -71,7 +71,10 @@ describe('schedule app', () => {
           value: {
             start: '2020-12-20',
             frequency: 'monthly',
-            patterns: [{ type: 'day', value: 15 }, { type: 'day', value: 30 }]
+            patterns: [
+              { type: 'day', value: 15 },
+              { type: 'day', value: 30 }
+            ]
           }
         })
       ).toBe('2021-05-30');
@@ -88,7 +91,10 @@ describe('schedule app', () => {
             value: {
               start: '2020-12-20',
               frequency: 'monthly',
-              patterns: [{ type: 'day', value: 15 }, { type: 'day', value: 30 }]
+              patterns: [
+                { type: 'day', value: 15 },
+                { type: 'day', value: 30 }
+              ]
             }
           }
         ]
@@ -123,7 +129,10 @@ describe('schedule app', () => {
             value: {
               start: '2020-12-20',
               frequency: 'monthly',
-              patterns: [{ type: 'day', value: 15 }, { type: 'day', value: 30 }]
+              patterns: [
+                { type: 'day', value: 15 },
+                { type: 'day', value: 30 }
+              ]
             }
           }
         ]
@@ -150,7 +159,10 @@ describe('schedule app', () => {
             value: {
               start: '2020-12-20',
               frequency: 'monthly',
-              patterns: [{ type: 'day', value: 18 }, { type: 'day', value: 29 }]
+              patterns: [
+                { type: 'day', value: 18 },
+                { type: 'day', value: 29 }
+              ]
             }
           }
         ]
@@ -177,7 +189,10 @@ describe('schedule app', () => {
             value: {
               start: '2020-12-20',
               frequency: 'monthly',
-              patterns: [{ type: 'day', value: 15 }, { type: 'day', value: 30 }]
+              patterns: [
+                { type: 'day', value: 15 },
+                { type: 'day', value: 30 }
+              ]
             }
           }
         ]
@@ -200,7 +215,10 @@ describe('schedule app', () => {
             value: {
               start: '2020-12-20',
               frequency: 'monthly',
-              patterns: [{ type: 'day', value: 15 }, { type: 'day', value: 30 }]
+              patterns: [
+                { type: 'day', value: 15 },
+                { type: 'day', value: 30 }
+              ]
             }
           }
         ]
@@ -222,7 +240,10 @@ describe('schedule app', () => {
             value: {
               start: '2020-12-20',
               frequency: 'monthly',
-              patterns: [{ type: 'day', value: 18 }, { type: 'day', value: 28 }]
+              patterns: [
+                { type: 'day', value: 18 },
+                { type: 'day', value: 28 }
+              ]
             }
           }
         ]
diff --git a/packages/loot-core/src/server/schedules/find-schedules.js b/packages/loot-core/src/server/schedules/find-schedules.js
index 214e725c2d3ad1739da614658cb35eb7448b7fa1..6432f0b207c000ea939be889228faaf38830ec01 100644
--- a/packages/loot-core/src/server/schedules/find-schedules.js
+++ b/packages/loot-core/src/server/schedules/find-schedules.js
@@ -219,7 +219,10 @@ async function monthly1stor3rd(startDate, accountId) {
       return {
         start,
         frequency: 'monthly',
-        patterns: [{ type: dayValue, value: 1 }, { type: dayValue, value: 3 }]
+        patterns: [
+          { type: dayValue, value: 1 },
+          { type: dayValue, value: 3 }
+        ]
       };
     },
     accountId
@@ -237,7 +240,10 @@ async function monthly2ndor4th(startDate, accountId) {
       return {
         start,
         frequency: 'monthly',
-        patterns: [{ type: dayValue, value: 2 }, { type: dayValue, value: 4 }]
+        patterns: [
+          { type: dayValue, value: 2 },
+          { type: dayValue, value: 4 }
+        ]
       };
     },
     accountId
diff --git a/packages/loot-core/src/server/spreadsheet/new/parser.js b/packages/loot-core/src/server/spreadsheet/new/parser.js
index f190a60472ffe08234edcf4d7224684ead570959..2bf3b04919a4b5b661fd2846f8214c21a484710f 100644
--- a/packages/loot-core/src/server/spreadsheet/new/parser.js
+++ b/packages/loot-core/src/server/spreadsheet/new/parser.js
@@ -363,7 +363,7 @@ function parsePostfix(state, node) {
   while ((tok = nextToken(state))) {
     if (tok.type === types.TOKEN_LEFT_PAREN) {
       pushToken(state, tok);
-      let args = parseArgs(state)
+      let args = parseArgs(state);
       node = new nodes.FunCall(tok.lineno, tok.colno, node, args);
     } else if (tok.type === types.TOKEN_DOT) {
       const val = nextToken(state);
diff --git a/packages/loot-core/src/server/spreadsheet/new/sqlgen.js b/packages/loot-core/src/server/spreadsheet/new/sqlgen.js
index 34eea21778ab34842ba3c8dba928ec66c519c5b3..b076edb82a430c5a7265d3821ae61e13506659b8 100644
--- a/packages/loot-core/src/server/spreadsheet/new/sqlgen.js
+++ b/packages/loot-core/src/server/spreadsheet/new/sqlgen.js
@@ -238,9 +238,7 @@ export default function generate(table, where, groupby, select, deps) {
         joins.push(meta.sql(lookup.tableId));
       } else {
         joins.push(
-          `LEFT JOIN ${meta.table} ${lookup.tableId} ON ${
-            lookup.tableId
-          }.id = ${currentTable.id}.${lookup.field}`
+          `LEFT JOIN ${meta.table} ${lookup.tableId} ON ${lookup.tableId}.id = ${currentTable.id}.${lookup.field}`
         );
       }
 
diff --git a/packages/loot-core/src/server/spreadsheet/new/vm.js b/packages/loot-core/src/server/spreadsheet/new/vm.js
index 20feb5c13ae5a3cb51538160b9604fb247f74f1c..2ddb9026532d9955316ff2318c84afc8bf37a68a 100644
--- a/packages/loot-core/src/server/spreadsheet/new/vm.js
+++ b/packages/loot-core/src/server/spreadsheet/new/vm.js
@@ -74,7 +74,10 @@ export default class VM {
 
   call(callee, args) {
     const func = this.get(callee);
-    this.reg1 = func.apply(null, args.map(arg => this.get(arg)));
+    this.reg1 = func.apply(
+      null,
+      args.map(arg => this.get(arg))
+    );
   }
 
   query(sql, calculated) {
diff --git a/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js b/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js
index 45e73989667ec52b52a4e78877aecb95bb9b0d28..9d8544f45f93c591da8fc5ba570b897b3eb72ba2 100644
--- a/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js
+++ b/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js
@@ -1,10 +1,8 @@
+const expect = require('expect');
+const propagate = require('../data-compute/propagate.js');
 
-
-const expect = require("expect");
-const propagate = require("../data-compute/propagate.js");
-
-describe("data propagation", () => {
-  it("should work", () => {
+describe('data propagation', () => {
+  it('should work', () => {
     expect(true).toExist();
   });
 });
diff --git a/packages/loot-core/src/server/spreadsheet/tests/graph.js b/packages/loot-core/src/server/spreadsheet/tests/graph.js
index dbc8345c15c3715acd1d67138ef80bf5aa1d7e78..c938e09b2e34308d1bdca6f8db2eeb8db54e8c40 100644
--- a/packages/loot-core/src/server/spreadsheet/tests/graph.js
+++ b/packages/loot-core/src/server/spreadsheet/tests/graph.js
@@ -1,308 +1,304 @@
-
 // Unit tests for reactive-property.
-var assert = require("assert");
+var assert = require('assert');
 
 // If using from the NPM package, this line would be
 // var Graph = require("graph-data-structure");
-var Graph = require("../data-compute/graph-data-structure");
+var Graph = require('../data-compute/graph-data-structure');
 
-describe("Graph", function() {
-  describe("Data structure", function() {
-    it("Should add nodes and list them.", function (){
+describe('Graph', function() {
+  describe('Data structure', function() {
+    it('Should add nodes and list them.', function() {
       var graph = Graph();
-      graph.addNode("a");
-      graph.addNode("b");
+      graph.addNode('a');
+      graph.addNode('b');
       assert.equal(graph.nodes().length, 2);
-      assert(contains(graph.nodes(), "a"));
-      assert(contains(graph.nodes(), "b"));
+      assert(contains(graph.nodes(), 'a'));
+      assert(contains(graph.nodes(), 'b'));
     });
 
-    it("Should chain addNode.", function (){
-      var graph = Graph().addNode("a").addNode("b");
+    it('Should chain addNode.', function() {
+      var graph = Graph()
+        .addNode('a')
+        .addNode('b');
       assert.equal(graph.nodes().length, 2);
-      assert(contains(graph.nodes(), "a"));
-      assert(contains(graph.nodes(), "b"));
+      assert(contains(graph.nodes(), 'a'));
+      assert(contains(graph.nodes(), 'b'));
     });
 
-    it("Should remove nodes.", function (){
+    it('Should remove nodes.', function() {
       var graph = Graph();
-      graph.addNode("a");
-      graph.addNode("b");
-      graph.removeNode("a");
-      graph.removeNode("b");
+      graph.addNode('a');
+      graph.addNode('b');
+      graph.removeNode('a');
+      graph.removeNode('b');
       assert.equal(graph.nodes().length, 0);
     });
 
-    it("Should chain removeNode.", function (){
+    it('Should chain removeNode.', function() {
       var graph = Graph()
-        .addNode("a")
-        .addNode("b")
-        .removeNode("a")
-        .removeNode("b");
+        .addNode('a')
+        .addNode('b')
+        .removeNode('a')
+        .removeNode('b');
       assert.equal(graph.nodes().length, 0);
     });
 
-    it("Should add edges and query for adjacent nodes.", function (){
+    it('Should add edges and query for adjacent nodes.', function() {
       var graph = Graph();
-      graph.addNode("a");
-      graph.addNode("b");
-      graph.addEdge("a", "b");
-      assert.equal(graph.adjacent("a").length, 1);
-      assert.equal(graph.adjacent("a")[0], "b");
+      graph.addNode('a');
+      graph.addNode('b');
+      graph.addEdge('a', 'b');
+      assert.equal(graph.adjacent('a').length, 1);
+      assert.equal(graph.adjacent('a')[0], 'b');
     });
 
-    it("Should implicitly add nodes when edges are added.", function (){
+    it('Should implicitly add nodes when edges are added.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      assert.equal(graph.adjacent("a").length, 1);
-      assert.equal(graph.adjacent("a")[0], "b");
+      graph.addEdge('a', 'b');
+      assert.equal(graph.adjacent('a').length, 1);
+      assert.equal(graph.adjacent('a')[0], 'b');
       assert.equal(graph.nodes().length, 2);
-      assert(contains(graph.nodes(), "a"));
-      assert(contains(graph.nodes(), "b"));
+      assert(contains(graph.nodes(), 'a'));
+      assert(contains(graph.nodes(), 'b'));
     });
 
-    it("Should chain addEdge.", function (){
-      var graph = Graph().addEdge("a", "b");
-      assert.equal(graph.adjacent("a").length, 1);
-      assert.equal(graph.adjacent("a")[0], "b");
+    it('Should chain addEdge.', function() {
+      var graph = Graph().addEdge('a', 'b');
+      assert.equal(graph.adjacent('a').length, 1);
+      assert.equal(graph.adjacent('a')[0], 'b');
     });
 
-    it("Should remove edges.", function (){
+    it('Should remove edges.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      graph.removeEdge("a", "b");
-      assert.equal(graph.adjacent("a").length, 0);
+      graph.addEdge('a', 'b');
+      graph.removeEdge('a', 'b');
+      assert.equal(graph.adjacent('a').length, 0);
     });
 
-    it("Should chain removeEdge.", function (){
+    it('Should chain removeEdge.', function() {
       var graph = Graph()
-        .addEdge("a", "b")
-        .removeEdge("a", "b");
-      assert.equal(graph.adjacent("a").length, 0);
+        .addEdge('a', 'b')
+        .removeEdge('a', 'b');
+      assert.equal(graph.adjacent('a').length, 0);
     });
 
-    it("Should not remove nodes when edges are removed.", function (){
+    it('Should not remove nodes when edges are removed.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      graph.removeEdge("a", "b");
+      graph.addEdge('a', 'b');
+      graph.removeEdge('a', 'b');
       assert.equal(graph.nodes().length, 2);
-      assert(contains(graph.nodes(), "a"));
-      assert(contains(graph.nodes(), "b"));
+      assert(contains(graph.nodes(), 'a'));
+      assert(contains(graph.nodes(), 'b'));
     });
 
-    it("Should remove outgoing edges when a node is removed.", function (){
+    it('Should remove outgoing edges when a node is removed.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      graph.removeNode("a");
-      assert.equal(graph.adjacent("a").length, 0);
+      graph.addEdge('a', 'b');
+      graph.removeNode('a');
+      assert.equal(graph.adjacent('a').length, 0);
     });
 
-    it("Should remove incoming edges when a node is removed.", function (){
+    it('Should remove incoming edges when a node is removed.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      graph.removeNode("b");
-      assert.equal(graph.adjacent("a").length, 0);
+      graph.addEdge('a', 'b');
+      graph.removeNode('b');
+      assert.equal(graph.adjacent('a').length, 0);
     });
 
-    it("Should compute indegree.", function (){
+    it('Should compute indegree.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      assert.equal(graph.indegree("a"), 0);
-      assert.equal(graph.indegree("b"), 1);
+      graph.addEdge('a', 'b');
+      assert.equal(graph.indegree('a'), 0);
+      assert.equal(graph.indegree('b'), 1);
 
-      graph.addEdge("c", "b");
-      assert.equal(graph.indegree("b"), 2);
+      graph.addEdge('c', 'b');
+      assert.equal(graph.indegree('b'), 2);
     });
 
-    it("Should compute outdegree.", function (){
+    it('Should compute outdegree.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      assert.equal(graph.outdegree("a"), 1);
-      assert.equal(graph.outdegree("b"), 0);
+      graph.addEdge('a', 'b');
+      assert.equal(graph.outdegree('a'), 1);
+      assert.equal(graph.outdegree('b'), 0);
 
-      graph.addEdge("a", "c");
-      assert.equal(graph.outdegree("a"), 2);
+      graph.addEdge('a', 'c');
+      assert.equal(graph.outdegree('a'), 2);
     });
-
   });
 
-  describe("Algorithms", function() {
-
+  describe('Algorithms', function() {
     // This example is from Cormen et al. "Introduction to Algorithms" page 550
-    it("Should compute topological sort.", function (){
-
+    it('Should compute topological sort.', function() {
       var graph = Graph();
 
       // Shoes depend on socks.
       // Socks need to be put on before shoes.
-      graph.addEdge("socks", "shoes");
+      graph.addEdge('socks', 'shoes');
 
-      graph.addEdge("shirt", "belt");
-      graph.addEdge("shirt", "tie");
-      graph.addEdge("tie", "jacket");
-      graph.addEdge("belt", "jacket");
-      graph.addEdge("pants", "shoes");
-      graph.addEdge("underpants", "pants");
-      graph.addEdge("pants", "belt");
+      graph.addEdge('shirt', 'belt');
+      graph.addEdge('shirt', 'tie');
+      graph.addEdge('tie', 'jacket');
+      graph.addEdge('belt', 'jacket');
+      graph.addEdge('pants', 'shoes');
+      graph.addEdge('underpants', 'pants');
+      graph.addEdge('pants', 'belt');
 
       var sorted = graph.topologicalSort();
 
-      assert(comesBefore(sorted, "pants", "shoes"));
-      assert(comesBefore(sorted, "underpants", "pants"));
-      assert(comesBefore(sorted, "underpants", "shoes"));
-      assert(comesBefore(sorted, "shirt", "jacket"));
-      assert(comesBefore(sorted, "shirt", "belt"));
-      assert(comesBefore(sorted, "belt", "jacket"));
+      assert(comesBefore(sorted, 'pants', 'shoes'));
+      assert(comesBefore(sorted, 'underpants', 'pants'));
+      assert(comesBefore(sorted, 'underpants', 'shoes'));
+      assert(comesBefore(sorted, 'shirt', 'jacket'));
+      assert(comesBefore(sorted, 'shirt', 'belt'));
+      assert(comesBefore(sorted, 'belt', 'jacket'));
 
       assert.equal(sorted.length, 8);
-
     });
 
-    it("Should compute topological sort, excluding source nodes.", function (){
+    it('Should compute topological sort, excluding source nodes.', function() {
       var graph = Graph();
-      graph.addEdge("a", "b");
-      graph.addEdge("b", "c");
-      var sorted = graph.topologicalSort(["a"], false);
+      graph.addEdge('a', 'b');
+      graph.addEdge('b', 'c');
+      var sorted = graph.topologicalSort(['a'], false);
       assert.equal(sorted.length, 2);
-      assert.equal(sorted[0], "b");
-      assert.equal(sorted[1], "c");
+      assert.equal(sorted[0], 'b');
+      assert.equal(sorted[1], 'c');
     });
 
-    it("Should compute topological sort tricky case.", function (){
+    it('Should compute topological sort tricky case.', function() {
+      var graph = Graph(); //      a
+      //     / \
+      graph.addEdge('a', 'b'); //    b   |
+      graph.addEdge('a', 'd'); //    |   d
+      graph.addEdge('b', 'c'); //    c   |
+      graph.addEdge('d', 'e'); //     \ /
+      graph.addEdge('c', 'e'); //      e
 
-      var graph = Graph();     //      a
-                               //     / \
-      graph.addEdge("a", "b"); //    b   |
-      graph.addEdge("a", "d"); //    |   d
-      graph.addEdge("b", "c"); //    c   |
-      graph.addEdge("d", "e"); //     \ /
-      graph.addEdge("c", "e"); //      e
-
-      var sorted = graph.topologicalSort(["a"], false);
+      var sorted = graph.topologicalSort(['a'], false);
       assert.equal(sorted.length, 4);
-      assert(contains(sorted, "b"));
-      assert(contains(sorted, "c"));
-      assert(contains(sorted, "d"));
-      assert.equal(sorted[sorted.length - 1], "e");
-
-      assert(comesBefore(sorted, "b", "c"));
-      assert(comesBefore(sorted, "b", "e"));
-      assert(comesBefore(sorted, "c", "e"));
-      assert(comesBefore(sorted, "d", "e"));
-
+      assert(contains(sorted, 'b'));
+      assert(contains(sorted, 'c'));
+      assert(contains(sorted, 'd'));
+      assert.equal(sorted[sorted.length - 1], 'e');
+
+      assert(comesBefore(sorted, 'b', 'c'));
+      assert(comesBefore(sorted, 'b', 'e'));
+      assert(comesBefore(sorted, 'c', 'e'));
+      assert(comesBefore(sorted, 'd', 'e'));
     });
 
-    it("Should exclude source nodes with a cycle.", function (){
+    it('Should exclude source nodes with a cycle.', function() {
       var graph = Graph()
-        .addEdge("a", "b")
-        .addEdge("b", "c")
-        .addEdge("c", "a");
-      var sorted = graph.topologicalSort(["a"], false);
+        .addEdge('a', 'b')
+        .addEdge('b', 'c')
+        .addEdge('c', 'a');
+      var sorted = graph.topologicalSort(['a'], false);
       assert.equal(sorted.length, 2);
-      assert.equal(sorted[0], "b");
-      assert.equal(sorted[1], "c");
-
+      assert.equal(sorted[0], 'b');
+      assert.equal(sorted[1], 'c');
     });
 
-    it("Should exclude source nodes with multiple cycles.", function (){
+    it('Should exclude source nodes with multiple cycles.', function() {
       var graph = Graph()
+        .addEdge('a', 'b')
+        .addEdge('b', 'a')
 
-        .addEdge("a", "b")
-        .addEdge("b", "a")
+        .addEdge('b', 'c')
+        .addEdge('c', 'b')
 
-        .addEdge("b", "c")
-        .addEdge("c", "b")
+        .addEdge('a', 'c')
+        .addEdge('c', 'a');
 
-        .addEdge("a", "c")
-        .addEdge("c", "a");
-
-      var sorted = graph.topologicalSort(["a", "b"], false);
-      assert(!contains(sorted, "b"));
+      var sorted = graph.topologicalSort(['a', 'b'], false);
+      assert(!contains(sorted, 'b'));
     });
   });
 
-  describe("Edge cases and error handling", function() {
-
-    it("Should return empty array of adjacent nodes for unknown nodes.", function (){
+  describe('Edge cases and error handling', function() {
+    it('Should return empty array of adjacent nodes for unknown nodes.', function() {
       var graph = Graph();
-      assert.equal(graph.adjacent("a").length, 0);
+      assert.equal(graph.adjacent('a').length, 0);
       assert.equal(graph.nodes(), 0);
     });
 
-    it("Should do nothing if removing an edge that does not exist.", function (){
-      assert.doesNotThrow(function (){
+    it('Should do nothing if removing an edge that does not exist.', function() {
+      assert.doesNotThrow(function() {
         var graph = Graph();
-        graph.removeEdge("a", "b");
+        graph.removeEdge('a', 'b');
       });
     });
 
-    it("Should return indegree of 0 for unknown nodes.", function (){
+    it('Should return indegree of 0 for unknown nodes.', function() {
       var graph = Graph();
-      assert.equal(graph.indegree("z"), 0);
+      assert.equal(graph.indegree('z'), 0);
     });
 
-    it("Should return outdegree of 0 for unknown nodes.", function (){
+    it('Should return outdegree of 0 for unknown nodes.', function() {
       var graph = Graph();
-      assert.equal(graph.outdegree("z"), 0);
+      assert.equal(graph.outdegree('z'), 0);
     });
-
   });
 
-  describe("Serialization", function() {
-
+  describe('Serialization', function() {
     var serialized;
 
-    function checkSerialized(graph){
+    function checkSerialized(graph) {
       assert.equal(graph.nodes.length, 3);
       assert.equal(graph.links.length, 2);
 
-      assert.equal(graph.nodes[0].id, "a");
-      assert.equal(graph.nodes[1].id, "b");
-      assert.equal(graph.nodes[2].id, "c");
+      assert.equal(graph.nodes[0].id, 'a');
+      assert.equal(graph.nodes[1].id, 'b');
+      assert.equal(graph.nodes[2].id, 'c');
 
-      assert.equal(graph.links[0].source, "a");
-      assert.equal(graph.links[0].target, "b");
-      assert.equal(graph.links[1].source, "b");
-      assert.equal(graph.links[1].target, "c");
+      assert.equal(graph.links[0].source, 'a');
+      assert.equal(graph.links[0].target, 'b');
+      assert.equal(graph.links[1].source, 'b');
+      assert.equal(graph.links[1].target, 'c');
     }
 
-    it("Should serialize a graph.", function (){
+    it('Should serialize a graph.', function() {
       var graph = Graph()
-        .addEdge("a", "b")
-        .addEdge("b", "c");
+        .addEdge('a', 'b')
+        .addEdge('b', 'c');
       serialized = graph.serialize();
       checkSerialized(serialized);
     });
 
-    it("Should deserialize a graph.", function (){
+    it('Should deserialize a graph.', function() {
       var graph = Graph();
       graph.deserialize(serialized);
       checkSerialized(graph.serialize());
     });
 
-    it("Should chain deserialize a graph.", function (){
+    it('Should chain deserialize a graph.', function() {
       var graph = Graph().deserialize(serialized);
       checkSerialized(graph.serialize());
     });
 
-    it("Should deserialize a graph passed to constructor.", function (){
+    it('Should deserialize a graph passed to constructor.', function() {
       var graph = Graph(serialized);
       checkSerialized(graph.serialize());
     });
   });
 });
 
-function contains(arr, item){
-  return arr.filter(function (d){
-    return d === item;
-  }).length > 0;
+function contains(arr, item) {
+  return (
+    arr.filter(function(d) {
+      return d === item;
+    }).length > 0
+  );
 }
 
-function comesBefore(arr, a, b){
+function comesBefore(arr, a, b) {
   var aIndex, bIndex;
-  arr.forEach(function (d, i){
-    if(d === a){ aIndex = i; }
-    if(d === b){ bIndex = i; }
+  arr.forEach(function(d, i) {
+    if (d === a) {
+      aIndex = i;
+    }
+    if (d === b) {
+      bIndex = i;
+    }
   });
   return aIndex < bIndex;
 }
diff --git a/packages/loot-core/src/server/spreadsheet/usage.js b/packages/loot-core/src/server/spreadsheet/usage.js
index 4b8f12f4aa61e0e670b675e01c4b21642c11fb9c..abe6f8cd1d734fcb47fd75b35b0dee8590ad29dc 100644
--- a/packages/loot-core/src/server/spreadsheet/usage.js
+++ b/packages/loot-core/src/server/spreadsheet/usage.js
@@ -1,12 +1,12 @@
-const sqlite = require("sqlite3");
-const escodegen = require("escodegen");
-const sqlgen = require("./sqlgen");
+const sqlite = require('sqlite3');
+const escodegen = require('escodegen');
+const sqlgen = require('./sqlgen');
 
 // Example usage:
 
-const Spreadsheet = require("./spreadsheet");
+const Spreadsheet = require('./spreadsheet');
 
-const db = new sqlite.Database(__dirname + "/../../db.sqlite");
+const db = new sqlite.Database(__dirname + '/../../db.sqlite');
 const sheet = new Spreadsheet({
   plugins: {
     runQuery: {
@@ -20,22 +20,24 @@ const sheet = new Spreadsheet({
 
         return {
           data: {
-            type: "query",
+            type: 'query',
             query: query,
             sql: sql
           },
 
           ast: {
-            type: "CallExpression",
+            type: 'CallExpression',
             callee: {
-              type: "Identifier",
-              name: "runQuery"
+              type: 'Identifier',
+              name: 'runQuery'
             },
-            arguments: [{
-              type: "Literal",
-              raw: sql,
-              value: sql
-            }]
+            arguments: [
+              {
+                type: 'Literal',
+                raw: sql,
+                value: sql
+              }
+            ]
           }
         };
       },
@@ -43,7 +45,7 @@ const sheet = new Spreadsheet({
         return new Promise(resolve => {
           const start = Date.now();
           db.all(sql, function(err, rows) {
-            if(err) {
+            if (err) {
               throw new Error(err);
             }
             resolve(rows);
@@ -54,11 +56,12 @@ const sheet = new Spreadsheet({
   }
 });
 
-db.on("preupdate", function(type, dbname, table, old, _new, oldId, newId) {
+db.on('preupdate', function(type, dbname, table, old, _new, oldId, newId) {
   sheet.resolve().then(() => {
     const start = Date.now();
     sheet.startTransaction();
-    sheet.getNodesOfType("query")
+    sheet
+      .getNodesOfType('query')
       .filter(node => node.data.query.table === table)
       .forEach(q => {
         sheet.signal(q.name);
diff --git a/packages/loot-core/src/server/sync/sync.property.test.js b/packages/loot-core/src/server/sync/sync.property.test.js
index e267f7ad26b3b7421edf88a602261fadc07c29da..0c798c84077cabc9797c44908c6e5cd0b320c507 100644
--- a/packages/loot-core/src/server/sync/sync.property.test.js
+++ b/packages/loot-core/src/server/sync/sync.property.test.js
@@ -2,13 +2,13 @@ import * as prefs from '../prefs';
 import * as db from '../db';
 import * as sheet from '../sheet';
 import * as sync from './index';
-import { getClock, Timestamp } from '../crdt';
-import { merkle } from '../crdt';
+import { merkle, getClock, Timestamp } from '../crdt';
 import * as encoder from './encoder';
 const jsc = require('jsverify');
-const uuidGenerator = jsc
-  .integer(97, 122)
-  .smap(x => String.fromCharCode(x), x => x.charCodeAt(x));
+const uuidGenerator = jsc.integer(97, 122).smap(
+  x => String.fromCharCode(x),
+  x => x.charCodeAt(x)
+);
 
 const mockSyncServer = require('../tests/mockSyncServer');
 
@@ -126,7 +126,10 @@ Object.keys(schema).forEach(table => {
       generators.push(
         makeGen({
           table,
-          row: jsc.asciinestring.smap(x => 'sheet!' + x, x => x),
+          row: jsc.asciinestring.smap(
+            x => 'sheet!' + x,
+            x => x
+          ),
           field: 'expr',
           value: jsc.constant(JSON.stringify('fooooo'))
         })
diff --git a/packages/loot-core/src/server/tracking/events.js b/packages/loot-core/src/server/tracking/events.js
index 0884a122e61d8e581cd8ce0901c5fd873bdf97ad..fea5dd6e22e0c5d9e542b937c8ceed119639d9ec 100644
--- a/packages/loot-core/src/server/tracking/events.js
+++ b/packages/loot-core/src/server/tracking/events.js
@@ -24,11 +24,9 @@ function isAnonymous(id) {
   return !id.startsWith('user-');
 }
 
-export async function init() {
-}
+export async function init() {}
 
-export async function login(userId) {
-}
+export async function login(userId) {}
 
 let BUFFERING = false;
 let BUFFER = [];
diff --git a/yarn.lock b/yarn.lock
index 6f15cb9a70babd8652699d3732d1f1119db89c6a..73f46ffd971809f8b340e24e12da0bab3f7dca70 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -164,44 +164,37 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.14.7, @babel/compat-data@npm:^7.17.0, @babel/compat-data@npm:^7.17.7":
+"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.14.7, @babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.0, @babel/compat-data@npm:^7.17.7":
   version: 7.17.7
   resolution: "@babel/compat-data@npm:7.17.7"
   checksum: bf13476676884ce9afc199747ff82f3bcd6d42a9cfb01ce91bdb762b83ea11ec619b6ec532d1a80469ab14f191f33b5d4b9f8796fa8be3bc728d42b0c5e737e3
   languageName: node
   linkType: hard
 
-"@babel/compat-data@npm:^7.18.6":
-  version: 7.18.8
-  resolution: "@babel/compat-data@npm:7.18.8"
-  checksum: 3096aafad74936477ebdd039bcf342fba84eb3100e608f3360850fb63e1efa1c66037c4824f814d62f439ab47d25164439343a6e92e9b4357024fdf571505eb9
-  languageName: node
-  linkType: hard
-
 "@babel/core@npm:^7.15.1":
-  version: 7.18.6
-  resolution: "@babel/core@npm:7.18.6"
+  version: 7.17.8
+  resolution: "@babel/core@npm:7.17.8"
   dependencies:
     "@ampproject/remapping": ^2.1.0
-    "@babel/code-frame": ^7.18.6
-    "@babel/generator": ^7.18.6
-    "@babel/helper-compilation-targets": ^7.18.6
-    "@babel/helper-module-transforms": ^7.18.6
-    "@babel/helpers": ^7.18.6
-    "@babel/parser": ^7.18.6
-    "@babel/template": ^7.18.6
-    "@babel/traverse": ^7.18.6
-    "@babel/types": ^7.18.6
+    "@babel/code-frame": ^7.16.7
+    "@babel/generator": ^7.17.7
+    "@babel/helper-compilation-targets": ^7.17.7
+    "@babel/helper-module-transforms": ^7.17.7
+    "@babel/helpers": ^7.17.8
+    "@babel/parser": ^7.17.8
+    "@babel/template": ^7.16.7
+    "@babel/traverse": ^7.17.3
+    "@babel/types": ^7.17.0
     convert-source-map: ^1.7.0
     debug: ^4.1.0
     gensync: ^1.0.0-beta.2
-    json5: ^2.2.1
+    json5: ^2.1.2
     semver: ^6.3.0
-  checksum: 711459ebf7afab7b8eff88b7155c3f4a62690545f1c8c2eb6ba5ebaed01abeecb984cf9657847a2151ad24a5645efce765832aa343ce0f0386f311b67b59589a
+  checksum: 0e686b1be444d25494424065238931f2b3df908bf072b72bab973acfd6d27a481fc280c9cd8a3c6fe2c46beee50e0d2307468d8b15b64dc4036f025e75f6609d
   languageName: node
   linkType: hard
 
-"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.17.3, @babel/generator@npm:^7.7.2":
+"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.7.2":
   version: 7.17.7
   resolution: "@babel/generator@npm:7.17.7"
   dependencies:
@@ -212,25 +205,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/generator@npm:^7.18.2":
-  version: 7.18.2
-  resolution: "@babel/generator@npm:7.18.2"
-  dependencies:
-    "@babel/types": ^7.18.2
-    "@jridgewell/gen-mapping": ^0.3.0
-    jsesc: ^2.5.1
-  checksum: d0661e95532ddd97566d41fec26355a7b28d1cbc4df95fe80cc084c413342935911b48db20910708db39714844ddd614f61c2ec4cca3fb10181418bdcaa2e7a3
-  languageName: node
-  linkType: hard
-
-"@babel/generator@npm:^7.18.6, @babel/generator@npm:^7.18.7":
-  version: 7.18.7
-  resolution: "@babel/generator@npm:7.18.7"
+"@babel/generator@npm:^7.18.13":
+  version: 7.18.13
+  resolution: "@babel/generator@npm:7.18.13"
   dependencies:
-    "@babel/types": ^7.18.7
+    "@babel/types": ^7.18.13
     "@jridgewell/gen-mapping": ^0.3.2
     jsesc: ^2.5.1
-  checksum: aad4b6873130165e9483af2888bce5a3a5ad9cca0757fc90ae11a0396757d0b295a3bff49282c8df8ab01b31972cc855ae88fd9ddc9ab00d9427dc0e01caeea9
+  checksum: 27f5e7eb774e4d76ee75dc96e3e1bd26cc0ee7cea13a8f7342b716319c0a4d4e26fc49aa8f19316f7c99383da55eeb2a866c6e034e9deacad58a9de9ed6004fb
   languageName: node
   linkType: hard
 
@@ -243,15 +225,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-annotate-as-pure@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-annotate-as-pure@npm:7.18.6"
-  dependencies:
-    "@babel/types": ^7.18.6
-  checksum: 88ccd15ced475ef2243fdd3b2916a29ea54c5db3cd0cfabf9d1d29ff6e63b7f7cd1c27264137d7a40ac2e978b9b9a542c332e78f40eb72abe737a7400788fc1b
-  languageName: node
-  linkType: hard
-
 "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.16.7"
@@ -262,17 +235,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.18.6"
-  dependencies:
-    "@babel/helper-explode-assignable-expression": ^7.18.6
-    "@babel/types": ^7.18.6
-  checksum: c4d71356e0adbc20ce9fe7c1e1181ff65a78603f8bba7615745f0417fed86bad7dc0a54a840bc83667c66709b3cb3721edcb9be0d393a298ce4e9eb6d085f3c1
-  languageName: node
-  linkType: hard
-
-"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.14.5, @babel/helper-compilation-targets@npm:^7.16.7":
+"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.14.5, @babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7":
   version: 7.17.7
   resolution: "@babel/helper-compilation-targets@npm:7.17.7"
   dependencies:
@@ -286,21 +249,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-compilation-targets@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-compilation-targets@npm:7.18.6"
-  dependencies:
-    "@babel/compat-data": ^7.18.6
-    "@babel/helper-validator-option": ^7.18.6
-    browserslist: ^4.20.2
-    semver: ^6.3.0
-  peerDependencies:
-    "@babel/core": ^7.0.0
-  checksum: f09ddaddc83c241cb7a040025e2ba558daa1c950ce878604d91230aed8d8a90f10dfd5bb0b67bc5b3db8af1576a0d0dac1d65959a06a17259243dbb5730d0ed1
-  languageName: node
-  linkType: hard
-
-"@babel/helper-create-class-features-plugin@npm:^7.14.5, @babel/helper-create-class-features-plugin@npm:^7.16.7":
+"@babel/helper-create-class-features-plugin@npm:^7.14.5, @babel/helper-create-class-features-plugin@npm:^7.16.10, @babel/helper-create-class-features-plugin@npm:^7.16.7, @babel/helper-create-class-features-plugin@npm:^7.17.6":
   version: 7.17.6
   resolution: "@babel/helper-create-class-features-plugin@npm:7.17.6"
   dependencies:
@@ -317,23 +266,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-create-class-features-plugin@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-create-class-features-plugin@npm:7.18.6"
-  dependencies:
-    "@babel/helper-annotate-as-pure": ^7.18.6
-    "@babel/helper-environment-visitor": ^7.18.6
-    "@babel/helper-function-name": ^7.18.6
-    "@babel/helper-member-expression-to-functions": ^7.18.6
-    "@babel/helper-optimise-call-expression": ^7.18.6
-    "@babel/helper-replace-supers": ^7.18.6
-    "@babel/helper-split-export-declaration": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0
-  checksum: 4d6da441ce329867338825c044c143f0b273cbfc6a20b9099e824a46f916584f44eabab073f78f02047d86719913e8f1a8bd72f42099ebe52691c29fabb992e4
-  languageName: node
-  linkType: hard
-
 "@babel/helper-create-regexp-features-plugin@npm:^7.16.7":
   version: 7.17.0
   resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.0"
@@ -346,18 +278,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-create-regexp-features-plugin@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6"
-  dependencies:
-    "@babel/helper-annotate-as-pure": ^7.18.6
-    regexpu-core: ^5.1.0
-  peerDependencies:
-    "@babel/core": ^7.0.0
-  checksum: 2d76e660cbfd0bfcb01ca9f177f0e9091c871a6b99f68ece6bcf4ab4a9df073485bdc2d87ecdfbde44b7f3723b26d13085d0f92082adb3ae80d31b246099f10a
-  languageName: node
-  linkType: hard
-
 "@babel/helper-define-polyfill-provider@npm:^0.3.1":
   version: 0.3.1
   resolution: "@babel/helper-define-polyfill-provider@npm:0.3.1"
@@ -385,17 +305,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-environment-visitor@npm:^7.18.2":
-  version: 7.18.2
-  resolution: "@babel/helper-environment-visitor@npm:7.18.2"
-  checksum: 1a9c8726fad454a082d077952a90f17188e92eabb3de236cb4782c49b39e3f69c327e272b965e9a20ff8abf37d30d03ffa6fd7974625a6c23946f70f7527f5e9
-  languageName: node
-  linkType: hard
-
-"@babel/helper-environment-visitor@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-environment-visitor@npm:7.18.6"
-  checksum: 64fce65a26efb50d2496061ab2de669dc4c42175a8e05c82279497127e5c542538ed22b38194f6f5a4e86bed6ef5a4890aed23408480db0555728b4ca660fc9c
+"@babel/helper-environment-visitor@npm:^7.18.9":
+  version: 7.18.9
+  resolution: "@babel/helper-environment-visitor@npm:7.18.9"
+  checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420
   languageName: node
   linkType: hard
 
@@ -408,15 +321,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-explode-assignable-expression@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-explode-assignable-expression@npm:7.18.6"
-  dependencies:
-    "@babel/types": ^7.18.6
-  checksum: 225cfcc3376a8799023d15dc95000609e9d4e7547b29528c7f7111a0e05493ffb12c15d70d379a0bb32d42752f340233c4115bded6d299bc0c3ab7a12be3d30f
-  languageName: node
-  linkType: hard
-
 "@babel/helper-function-name@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/helper-function-name@npm:7.16.7"
@@ -428,23 +332,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-function-name@npm:^7.17.9":
-  version: 7.17.9
-  resolution: "@babel/helper-function-name@npm:7.17.9"
-  dependencies:
-    "@babel/template": ^7.16.7
-    "@babel/types": ^7.17.0
-  checksum: a59b2e5af56d8f43b9b0019939a43774754beb7cb01a211809ca8031c71890999d07739e955343135ec566c4d8ff725435f1f60fb0af3bb546837c1f9f84f496
-  languageName: node
-  linkType: hard
-
-"@babel/helper-function-name@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-function-name@npm:7.18.6"
+"@babel/helper-function-name@npm:^7.18.9":
+  version: 7.18.9
+  resolution: "@babel/helper-function-name@npm:7.18.9"
   dependencies:
     "@babel/template": ^7.18.6
-    "@babel/types": ^7.18.6
-  checksum: bf84c2e0699aa07c3559d4262d199d4a9d0320037c2932efe3246866c3e01ce042c9c2131b5db32ba2409a9af01fb468171052819af759babc8ca93bdc6c9aeb
+    "@babel/types": ^7.18.9
+  checksum: d04c44e0272f887c0c868651be7fc3c5690531bea10936f00d4cca3f6d5db65e76dfb49e8d553c42ae1fe1eba61ccce9f3d93ba2df50a66408c8d4c3cc61cf0c
   languageName: node
   linkType: hard
 
@@ -484,15 +378,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-member-expression-to-functions@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-member-expression-to-functions@npm:7.18.6"
-  dependencies:
-    "@babel/types": ^7.18.6
-  checksum: 20c8e82d2375534dfe4d4adeb01d94906e5e616143bb2775e9f1d858039d87a0f79220e0a5c2ed410c54ccdeda47a4c09609b396db1f98fe8ce9e420894ac2f3
-  languageName: node
-  linkType: hard
-
 "@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/helper-module-imports@npm:7.16.7"
@@ -511,7 +396,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-module-transforms@npm:^7.17.7":
+"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.17.7":
   version: 7.17.7
   resolution: "@babel/helper-module-transforms@npm:7.17.7"
   dependencies:
@@ -527,35 +412,19 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-module-transforms@npm:^7.18.0":
-  version: 7.18.0
-  resolution: "@babel/helper-module-transforms@npm:7.18.0"
-  dependencies:
-    "@babel/helper-environment-visitor": ^7.16.7
-    "@babel/helper-module-imports": ^7.16.7
-    "@babel/helper-simple-access": ^7.17.7
-    "@babel/helper-split-export-declaration": ^7.16.7
-    "@babel/helper-validator-identifier": ^7.16.7
-    "@babel/template": ^7.16.7
-    "@babel/traverse": ^7.18.0
-    "@babel/types": ^7.18.0
-  checksum: 824c3967c08d75bb36adc18c31dcafebcd495b75b723e2e17c6185e88daf5c6db62a6a75d9f791b5f38618a349e7cb32503e715a1b9a4e8bad4d0f43e3e6b523
-  languageName: node
-  linkType: hard
-
 "@babel/helper-module-transforms@npm:^7.18.6":
-  version: 7.18.8
-  resolution: "@babel/helper-module-transforms@npm:7.18.8"
+  version: 7.18.9
+  resolution: "@babel/helper-module-transforms@npm:7.18.9"
   dependencies:
-    "@babel/helper-environment-visitor": ^7.18.6
+    "@babel/helper-environment-visitor": ^7.18.9
     "@babel/helper-module-imports": ^7.18.6
     "@babel/helper-simple-access": ^7.18.6
     "@babel/helper-split-export-declaration": ^7.18.6
     "@babel/helper-validator-identifier": ^7.18.6
     "@babel/template": ^7.18.6
-    "@babel/traverse": ^7.18.8
-    "@babel/types": ^7.18.8
-  checksum: 6aaf436d14495050987b9e0b30259ca58b02cc2466edd0c5d6883d92867e2cc2a311afe5815d5e10ef2511af1fb200de0e593f797b25a6d9a2bb49722bc16d95
+    "@babel/traverse": ^7.18.9
+    "@babel/types": ^7.18.9
+  checksum: af08c60ea239ff3d40eda542fceaab69de17e713f131e80ead08c975ba7a47dd55d439cb48cfb14ae7ec96704a10c989ff5a5240e52a39101cb44a49467ce058
   languageName: node
   linkType: hard
 
@@ -568,15 +437,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-optimise-call-expression@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-optimise-call-expression@npm:7.18.6"
-  dependencies:
-    "@babel/types": ^7.18.6
-  checksum: e518fe8418571405e21644cfb39cf694f30b6c47b10b006609a92469ae8b8775cbff56f0b19732343e2ea910641091c5a2dc73b56ceba04e116a33b0f8bd2fbd
-  languageName: node
-  linkType: hard
-
 "@babel/helper-plugin-utils@npm:^7.14.5":
   version: 7.16.7
   resolution: "@babel/helper-plugin-utils@npm:7.16.7"
@@ -595,20 +455,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-remap-async-to-generator@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-remap-async-to-generator@npm:7.18.6"
-  dependencies:
-    "@babel/helper-annotate-as-pure": ^7.18.6
-    "@babel/helper-environment-visitor": ^7.18.6
-    "@babel/helper-wrap-function": ^7.18.6
-    "@babel/types": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0
-  checksum: 83e890624da9413c74a8084f6b5f7bfe93abad8a6e1a33464f3086e2a1336751672e6ac6d74dddd35b641d19584cc0f93d02c52a4f33385b3be5b40942fe30da
-  languageName: node
-  linkType: hard
-
 "@babel/helper-replace-supers@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/helper-replace-supers@npm:7.16.7"
@@ -622,19 +468,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-replace-supers@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-replace-supers@npm:7.18.6"
-  dependencies:
-    "@babel/helper-environment-visitor": ^7.18.6
-    "@babel/helper-member-expression-to-functions": ^7.18.6
-    "@babel/helper-optimise-call-expression": ^7.18.6
-    "@babel/traverse": ^7.18.6
-    "@babel/types": ^7.18.6
-  checksum: 48e869dc8d3569136d239cd6354687e49c3225b114cb2141ed3a5f31cff5278f463eb25913df3345489061f377ad5d6e49778bddedd098fa8ee3adcec07cc1d3
-  languageName: node
-  linkType: hard
-
 "@babel/helper-simple-access@npm:^7.17.7":
   version: 7.17.7
   resolution: "@babel/helper-simple-access@npm:7.17.7"
@@ -644,15 +477,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-simple-access@npm:^7.18.2":
-  version: 7.18.2
-  resolution: "@babel/helper-simple-access@npm:7.18.2"
-  dependencies:
-    "@babel/types": ^7.18.2
-  checksum: c0862b56db7e120754d89273a039b128c27517389f6a4425ff24e49779791e8fe10061579171fb986be81fa076778acb847c709f6f5e396278d9c5e01360c375
-  languageName: node
-  linkType: hard
-
 "@babel/helper-simple-access@npm:^7.18.6":
   version: 7.18.6
   resolution: "@babel/helper-simple-access@npm:7.18.6"
@@ -671,15 +495,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.18.6"
-  dependencies:
-    "@babel/types": ^7.18.6
-  checksum: 069750f9690b2995617c42be4b7848a4490cd30f1edc72401d9d2ae362bc186d395b7d8c1e171c1b6c09751642ab1bba578cccf8c0dfc82b4541f8627965aea7
-  languageName: node
-  linkType: hard
-
 "@babel/helper-split-export-declaration@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/helper-split-export-declaration@npm:7.16.7"
@@ -726,13 +541,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-validator-option@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-validator-option@npm:7.18.6"
-  checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf
-  languageName: node
-  linkType: hard
-
 "@babel/helper-wrap-function@npm:^7.16.8":
   version: 7.16.8
   resolution: "@babel/helper-wrap-function@npm:7.16.8"
@@ -745,26 +553,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/helper-wrap-function@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helper-wrap-function@npm:7.18.6"
-  dependencies:
-    "@babel/helper-function-name": ^7.18.6
-    "@babel/template": ^7.18.6
-    "@babel/traverse": ^7.18.6
-    "@babel/types": ^7.18.6
-  checksum: b7a4f59b302ed77407e5c2005d8677ebdeabbfa69230e15f80b5e06cc532369c1e48399ec3e67dd3341e7ab9b3f84f17a255e2c1ec4e0d42bb571a4dac5472d6
-  languageName: node
-  linkType: hard
-
-"@babel/helpers@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/helpers@npm:7.18.6"
+"@babel/helpers@npm:^7.17.8":
+  version: 7.17.8
+  resolution: "@babel/helpers@npm:7.17.8"
   dependencies:
-    "@babel/template": ^7.18.6
-    "@babel/traverse": ^7.18.6
-    "@babel/types": ^7.18.6
-  checksum: 5dea4fa53776703ae4190cacd3f81464e6e00cf0b6908ea9b0af2b3d9992153f3746dd8c33d22ec198f77a8eaf13a273d83cd8847f7aef983801e7bfafa856ec
+    "@babel/template": ^7.16.7
+    "@babel/traverse": ^7.17.3
+    "@babel/types": ^7.17.0
+  checksum: 463dad58119fefebf2d0201bfa53ec9607aa00356908895640fc07589747fb3c2e0dfee4019f3e8c9781e57c9aa5dff4c72ec8d1b031c4ed8349f90b6aefe99d
   languageName: node
   linkType: hard
 
@@ -790,7 +586,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.1.6, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.3":
+"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.1.6, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8":
   version: 7.17.8
   resolution: "@babel/parser@npm:7.17.8"
   bin:
@@ -799,63 +595,53 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/parser@npm:^7.18.5":
-  version: 7.18.5
-  resolution: "@babel/parser@npm:7.18.5"
-  bin:
-    parser: ./bin/babel-parser.js
-  checksum: 4976349d8681af215fd5771bd5b74568cc95a2e8bf2afcf354bf46f73f3d6f08d54705f354b1d0012f914dd02a524b7d37c5c1204ccaafccb9db3c37dba96a9b
-  languageName: node
-  linkType: hard
-
-"@babel/parser@npm:^7.18.6, @babel/parser@npm:^7.18.8":
-  version: 7.18.8
-  resolution: "@babel/parser@npm:7.18.8"
+"@babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.13":
+  version: 7.18.13
+  resolution: "@babel/parser@npm:7.18.13"
   bin:
     parser: ./bin/babel-parser.js
-  checksum: b8426083f753a000bdb4929cb18c6ce5b68c23759245bf123515bf86cacb9f6e7ff61341a6e0d01a779a9a8a826c86062a0f4db424b88b5b51f67e121985d400
+  checksum: 8b41c35607668495d67d9a7c5f61768aaab26acf887efdadc2781aed54046981480ef40aeda0b84d61aed02cf0c4ff4b028d5f83ab85e17e2ddff318f9243b8b
   languageName: node
   linkType: hard
 
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6"
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0
-  checksum: 845bd280c55a6a91d232cfa54eaf9708ec71e594676fe705794f494bb8b711d833b752b59d1a5c154695225880c23dbc9cab0e53af16fd57807976cd3ff41b8d
+  checksum: bbb0f82a4cf297bdbb9110eea570addd4b883fd1b61535558d849822b087aa340fe4e9c31f8a39b087595c8310b58d0f5548d6be0b72c410abefb23a5734b7bc
   languageName: node
   linkType: hard
 
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.18.6"
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-skip-transparent-expression-wrappers": ^7.18.6
-    "@babel/plugin-proposal-optional-chaining": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
+    "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0
+    "@babel/plugin-proposal-optional-chaining": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.13.0
-  checksum: 0f0057cd12e98e297fd952c9cfdbffe5e34813f1b302e941fc212ca2a7b183ec2a227a1c49e104bbda528a4da6be03dbfb6e0d275d9572fb16b6ac5cda09fcd7
+  checksum: 81b372651a7d886a06596b02df7fb65ea90265a8bd60c9f0d5c1777590a598e6cccbdc3239033ee0719abf904813e69577eeb0ed5960b40e07978df023b17a6a
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-async-generator-functions@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.18.6"
+"@babel/plugin-proposal-async-generator-functions@npm:^7.16.8":
+  version: 7.16.8
+  resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.16.8"
   dependencies:
-    "@babel/helper-environment-visitor": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-remap-async-to-generator": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
+    "@babel/helper-remap-async-to-generator": ^7.16.8
     "@babel/plugin-syntax-async-generators": ^7.8.4
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 3f708808ba6f8a9bd18805b1b22ab90ec0b362d949111a776e0bade5391f143f55479dcc444b2cec25fc89ac21035ee92e9a5ec37c02c610639197a0c2f7dcb0
+  checksum: abd2c2c67de262720d37c5509dafe2ce64d6cee2dc9a8e863bbba1796b77387214442f37618373c6a4521ca624bfc7dcdbeb1376300d16f2a474405ee0ca2e69
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.1.0":
+"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.1.0, @babel/plugin-proposal-class-properties@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-proposal-class-properties@npm:7.16.7"
   dependencies:
@@ -867,18 +653,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-class-properties@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6"
-  dependencies:
-    "@babel/helper-create-class-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 49a78a2773ec0db56e915d9797e44fd079ab8a9b2e1716e0df07c92532f2c65d76aeda9543883916b8e0ff13606afeffa67c5b93d05b607bc87653ad18a91422
-  languageName: node
-  linkType: hard
-
 "@babel/plugin-proposal-class-properties@npm:~7.14.5":
   version: 7.14.5
   resolution: "@babel/plugin-proposal-class-properties@npm:7.14.5"
@@ -891,28 +665,28 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-class-static-block@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.6"
+"@babel/plugin-proposal-class-static-block@npm:^7.16.7":
+  version: 7.17.6
+  resolution: "@babel/plugin-proposal-class-static-block@npm:7.17.6"
   dependencies:
-    "@babel/helper-create-class-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-create-class-features-plugin": ^7.17.6
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-class-static-block": ^7.14.5
   peerDependencies:
     "@babel/core": ^7.12.0
-  checksum: b8d7ae99ed5ad784f39e7820e3ac03841f91d6ed60ab4a98c61d6112253da36013e12807bae4ffed0ef3cb318e47debac112ed614e03b403fb8b075b09a828ee
+  checksum: 0ef00d73b4a7667059f71614669fb5ec989a0a6d5fe58118310c892507f2556a6f3ae66f0c547cd06e50bdf3ff528ef486e611079d41ef321300c967d2c26e1d
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-dynamic-import@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-dynamic-import@npm:7.18.6"
+"@babel/plugin-proposal-dynamic-import@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-proposal-dynamic-import@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-dynamic-import": ^7.8.3
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 96b1c8a8ad8171d39e9ab106be33bde37ae09b22fb2c449afee9a5edf3c537933d79d963dcdc2694d10677cb96da739cdf1b53454e6a5deab9801f28a818bb2f
+  checksum: 5992012484fb8bda1451369350e475091954ed414dd9ef8654a3c4daa2db0205d4f29c94f5d3dedfbc5a434996375c8304586904337d6af938ac0f27a0033e23
   languageName: node
   linkType: hard
 
@@ -940,43 +714,43 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-export-namespace-from@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.18.6"
+"@babel/plugin-proposal-export-namespace-from@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-export-namespace-from": ^7.8.3
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 3227307e1155e8434825c02fb2e4e91e590aeb629ce6ce23e4fe869d0018a144c4674bf98863e1bb6d4e4a6f831e686ae43f46a87894e4286e31e6492a5571eb
+  checksum: 5016079a5305c1c130fea587b42cdce501574739cfefa5b63469dbc1f32d436df0ff42fabf04089fe8b6a00f4ea7563869e944744b457e186c677995983cb166
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-json-strings@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-json-strings@npm:7.18.6"
+"@babel/plugin-proposal-json-strings@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-proposal-json-strings@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-json-strings": ^7.8.3
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 25ba0e6b9d6115174f51f7c6787e96214c90dd4026e266976b248a2ed417fe50fddae72843ffb3cbe324014a18632ce5648dfac77f089da858022b49fd608cb3
+  checksum: ea6487918f8d88322ac2a4e5273be6163b0d84a34330c31cee346e23525299de3b4f753bc987951300a79f55b8f4b1971b24d04c0cdfcb7ceb4d636975c215e8
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-logical-assignment-operators@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.18.6"
+"@babel/plugin-proposal-logical-assignment-operators@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 4fe0a0d6739da6b1929f5015846e1de3b72d7dd07c665975ca795850ad7d048f8a0756c057a4cd1d71080384ad6283c30fcc239393da6848eabc38e38d3206c5
+  checksum: c4cf18e10f900d40eaa471c4adce4805e67bd845f997a4b9d5653eced4e653187b9950843b2bf7eab6c0c3e753aba222b1d38888e3e14e013f87295c5b014f19
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.0.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.1.0":
+"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.0.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.1.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.16.7"
   dependencies:
@@ -988,31 +762,19 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 949c9ddcdecdaec766ee610ef98f965f928ccc0361dd87cf9f88cf4896a6ccd62fce063d4494778e50da99dea63d270a1be574a62d6ab81cbe9d85884bf55a7d
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-proposal-numeric-separator@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6"
+"@babel/plugin-proposal-numeric-separator@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-proposal-numeric-separator@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-numeric-separator": ^7.10.4
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: f370ea584c55bf4040e1f78c80b4eeb1ce2e6aaa74f87d1a48266493c33931d0b6222d8cee3a082383d6bb648ab8d6b7147a06f974d3296ef3bc39c7851683ec
+  checksum: 8e2fb0b32845908c67f80bc637a0968e28a66727d7ffb22b9c801dc355d88e865dc24aec586b00c922c23833ae5d26301b443b53609ea73d8344733cd48a1eca
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-object-rest-spread@npm:^7.0.0":
+"@babel/plugin-proposal-object-rest-spread@npm:^7.0.0, @babel/plugin-proposal-object-rest-spread@npm:^7.16.7":
   version: 7.17.3
   resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.17.3"
   dependencies:
@@ -1027,21 +789,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-object-rest-spread@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.6"
-  dependencies:
-    "@babel/compat-data": ^7.18.6
-    "@babel/helper-compilation-targets": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/plugin-syntax-object-rest-spread": ^7.8.3
-    "@babel/plugin-transform-parameters": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 9b7516bad285a8706beb5e619cf505364bfbe79e219ae86d2139b32010d238d146301c1424488926a57f6d729556e21cfccab29f28c26ecd0dda05e53d7160b1
-  languageName: node
-  linkType: hard
-
 "@babel/plugin-proposal-object-rest-spread@npm:~7.14.5":
   version: 7.14.7
   resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.7"
@@ -1057,7 +804,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-optional-catch-binding@npm:^7.0.0":
+"@babel/plugin-proposal-optional-catch-binding@npm:^7.0.0, @babel/plugin-proposal-optional-catch-binding@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.16.7"
   dependencies:
@@ -1069,19 +816,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-optional-catch-binding@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/plugin-syntax-optional-catch-binding": ^7.8.3
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 7b5b39fb5d8d6d14faad6cb68ece5eeb2fd550fb66b5af7d7582402f974f5bc3684641f7c192a5a57e0f59acfae4aada6786be1eba030881ddc590666eff4d1e
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-proposal-optional-chaining@npm:^7.0.0, @babel/plugin-proposal-optional-chaining@npm:^7.1.0":
+"@babel/plugin-proposal-optional-chaining@npm:^7.0.0, @babel/plugin-proposal-optional-chaining@npm:^7.1.0, @babel/plugin-proposal-optional-chaining@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-proposal-optional-chaining@npm:7.16.7"
   dependencies:
@@ -1094,58 +829,33 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-optional-chaining@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-optional-chaining@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-skip-transparent-expression-wrappers": ^7.18.6
-    "@babel/plugin-syntax-optional-chaining": ^7.8.3
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 9c3bf80cfb41ee53a2a5d0f316ef5d125bb0d400ede1ee1a68a9b7dfc998036cca20c3901cb5c9e24fdd9f08c0056030e042f4637bc9bbc36b682384b38e2d96
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-proposal-private-methods@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6"
+"@babel/plugin-proposal-private-methods@npm:^7.16.11":
+  version: 7.16.11
+  resolution: "@babel/plugin-proposal-private-methods@npm:7.16.11"
   dependencies:
-    "@babel/helper-create-class-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-create-class-features-plugin": ^7.16.10
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 22d8502ee96bca99ad2c8393e8493e2b8d4507576dd054490fd8201a36824373440106f5b098b6d821b026c7e72b0424ff4aeca69ed5f42e48f029d3a156d5ad
+  checksum: b333e5aa91c265bb394a57b5f4ae1a34fc8ee73a8d75506b12df258d8b5342107cbd9261f95e606bd3264a5b023db77f1f95be30c2e526683916c57f793f7943
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-private-property-in-object@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.18.6"
+"@babel/plugin-proposal-private-property-in-object@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.7"
   dependencies:
-    "@babel/helper-annotate-as-pure": ^7.18.6
-    "@babel/helper-create-class-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-annotate-as-pure": ^7.16.7
+    "@babel/helper-create-class-features-plugin": ^7.16.7
+    "@babel/helper-plugin-utils": ^7.16.7
     "@babel/plugin-syntax-private-property-in-object": ^7.14.5
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: c8e56a972930730345f39f2384916fd8e711b3f4b4eae2ca9740e99958980118120d5cc9b6ac150f0965a5a35f825910e2c3013d90be3e9993ab6111df444569
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-proposal-unicode-property-regex@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.18.6"
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: a8575ecb7ff24bf6c6e94808d5c84bb5a0c6dd7892b54f09f4646711ba0ee1e1668032b3c43e3e1dfec2c5716c302e851ac756c1645e15882d73df6ad21ae951
+  checksum: 666d668f51d8c01aaf0dd87b27a83fc0392884d2c8e9d8e17b3b7011c0d348865dee94b44dc2d7070726e58e3b579728dc2588aaa8140d563f7390743ee90f0a
   languageName: node
   linkType: hard
 
-"@babel/plugin-proposal-unicode-property-regex@npm:^7.4.4":
+"@babel/plugin-proposal-unicode-property-regex@npm:^7.16.7, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4":
   version: 7.16.7
   resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.16.7"
   dependencies:
@@ -1245,17 +955,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-syntax-import-assertions@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-syntax-import-assertions@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 54918a05375325ba0c60bc81abfb261e6f118bed2de94e4c17dca9a2006fc25e13b1a8b5504b9a881238ea394fd2f098f60b2eb3a392585d6348874565445e7b
-  languageName: node
-  linkType: hard
-
 "@babel/plugin-syntax-import-meta@npm:^7.8.3":
   version: 7.10.4
   resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4"
@@ -1388,7 +1087,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-arrow-functions@npm:^7.0.0":
+"@babel/plugin-transform-arrow-functions@npm:^7.0.0, @babel/plugin-transform-arrow-functions@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-arrow-functions@npm:7.16.7"
   dependencies:
@@ -1399,18 +1098,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-arrow-functions@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-arrow-functions@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 900f5c695755062b91eec74da6f9092f40b8fada099058b92576f1e23c55e9813ec437051893a9b3c05cefe39e8ac06303d4a91b384e1c03dd8dc1581ea11602
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-async-to-generator@npm:^7.0.0":
+"@babel/plugin-transform-async-to-generator@npm:^7.0.0, @babel/plugin-transform-async-to-generator@npm:^7.16.8":
   version: 7.16.8
   resolution: "@babel/plugin-transform-async-to-generator@npm:7.16.8"
   dependencies:
@@ -1423,20 +1111,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-async-to-generator@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-async-to-generator@npm:7.18.6"
-  dependencies:
-    "@babel/helper-module-imports": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-remap-async-to-generator": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: c2cca47468cf1aeefdc7ec35d670e195c86cee4de28a1970648c46a88ce6bd1806ef0bab27251b9e7fb791bb28a64dcd543770efd899f28ee5f7854e64e873d3
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-block-scoped-functions@npm:^7.0.0":
+"@babel/plugin-transform-block-scoped-functions@npm:^7.0.0, @babel/plugin-transform-block-scoped-functions@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.16.7"
   dependencies:
@@ -1447,18 +1122,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-block-scoped-functions@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 0a0df61f94601e3666bf39f2cc26f5f7b22a94450fb93081edbed967bd752ce3f81d1227fefd3799f5ee2722171b5e28db61379234d1bb85b6ec689589f99d7e
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-block-scoping@npm:^7.0.0":
+"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-block-scoping@npm:7.16.7"
   dependencies:
@@ -1469,18 +1133,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-block-scoping@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-block-scoping@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: b117a005a9d5aedacc4a899a4d504b7f46e4c1e852b62d34a7f1cb06caecb1f69507b6a07d0ba6c6241ddd8f470bc6f483513d87637e49f6c508aadf23cf391a
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-classes@npm:^7.0.0":
+"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-classes@npm:7.16.7"
   dependencies:
@@ -1498,25 +1151,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-classes@npm:^7.18.6":
-  version: 7.18.8
-  resolution: "@babel/plugin-transform-classes@npm:7.18.8"
-  dependencies:
-    "@babel/helper-annotate-as-pure": ^7.18.6
-    "@babel/helper-environment-visitor": ^7.18.6
-    "@babel/helper-function-name": ^7.18.6
-    "@babel/helper-optimise-call-expression": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-replace-supers": ^7.18.6
-    "@babel/helper-split-export-declaration": ^7.18.6
-    globals: ^11.1.0
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 7248a430bb2e43bf5a063da37400875f2ed2c5eac1036c43e6634ad0ef8346a0fc99a910261832db0cd88e6d61dfcc3d9be36714eb87c8c467eed9588adb3143
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-computed-properties@npm:^7.0.0":
+"@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-computed-properties@npm:7.16.7"
   dependencies:
@@ -1527,18 +1162,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-computed-properties@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-computed-properties@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 686d7b9d03192959684de11ddf9c616ecfb314b199e9191f2ebbbfe0e0c9d6a3a5245668cde620e949e5891ca9a9d90a224fbf605dfb94d05b81aff127c5ae60
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-destructuring@npm:^7.0.0":
+"@babel/plugin-transform-destructuring@npm:^7.0.0, @babel/plugin-transform-destructuring@npm:^7.16.7":
   version: 7.17.7
   resolution: "@babel/plugin-transform-destructuring@npm:7.17.7"
   dependencies:
@@ -1549,17 +1173,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-destructuring@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-destructuring@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 256573bd2712e292784befb82fcb88b070c16b4d129469ea886885d8fbafdbb072c9fcf7f82039d2c61b05f2005db34e5068b2a6e813941c41ce709249f357c1
-  languageName: node
-  linkType: hard
-
 "@babel/plugin-transform-destructuring@npm:~7.14.7":
   version: 7.14.7
   resolution: "@babel/plugin-transform-destructuring@npm:7.14.7"
@@ -1571,19 +1184,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-dotall-regex@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-dotall-regex@npm:7.18.6"
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: cbe5d7063eb8f8cca24cd4827bc97f5641166509e58781a5f8aa47fb3d2d786ce4506a30fca2e01f61f18792783a5cb5d96bf5434c3dd1ad0de8c9cc625a53da
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-dotall-regex@npm:^7.4.4":
+"@babel/plugin-transform-dotall-regex@npm:^7.16.7, @babel/plugin-transform-dotall-regex@npm:^7.4.4":
   version: 7.16.7
   resolution: "@babel/plugin-transform-dotall-regex@npm:7.16.7"
   dependencies:
@@ -1595,38 +1196,26 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-duplicate-keys@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-duplicate-keys@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: c21797ae06e84e3d1502b1214279215e4dcb2e181198bfb9b1644e65ca0288441d3d70a9ea745f687095e9226b9a4a62b9e53fb944c8924b9591ce4e0039b042
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-exponentiation-operator@npm:^7.0.0":
+"@babel/plugin-transform-duplicate-keys@npm:^7.16.7":
   version: 7.16.7
-  resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.16.7"
+  resolution: "@babel/plugin-transform-duplicate-keys@npm:7.16.7"
   dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor": ^7.16.7
     "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 8082c79268f5b1552292bd3abbfed838a1131747e62000146e70670707b518602e907bbe3aef0fda824a2eebe995a9d897bd2336a039c5391743df01608673b0
+  checksum: b96f6e9f7b33a91ad0eb6b793e4da58b7a0108b58269109f391d57078d26e043b3872c95429b491894ae6400e72e44d9b744c9b112b8433c99e6969b767e30ed
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-exponentiation-operator@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.18.6"
+"@babel/plugin-transform-exponentiation-operator@npm:^7.0.0, @babel/plugin-transform-exponentiation-operator@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.16.7"
   dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-builder-binary-assignment-operator-visitor": ^7.16.7
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 7f70222f6829c82a36005508d34ddbe6fd0974ae190683a8670dd6ff08669aaf51fef2209d7403f9bd543cb2d12b18458016c99a6ed0332ccedb3ea127b01229
+  checksum: 8082c79268f5b1552292bd3abbfed838a1131747e62000146e70670707b518602e907bbe3aef0fda824a2eebe995a9d897bd2336a039c5391743df01608673b0
   languageName: node
   linkType: hard
 
@@ -1642,7 +1231,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-for-of@npm:^7.0.0":
+"@babel/plugin-transform-for-of@npm:^7.0.0, @babel/plugin-transform-for-of@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-for-of@npm:7.16.7"
   dependencies:
@@ -1653,18 +1242,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-for-of@npm:^7.18.6":
-  version: 7.18.8
-  resolution: "@babel/plugin-transform-for-of@npm:7.18.8"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: ca64c623cf0c7a80ab6f07ebd3e6e4ade95e2ae806696f70b43eafe6394fa8ce21f2b1ffdd15df2067f7363d2ecfe26472a97c6c774403d2163fa05f50c98f17
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-function-name@npm:^7.0.0":
+"@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-function-name@npm:7.16.7"
   dependencies:
@@ -1677,20 +1255,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-function-name@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-function-name@npm:7.18.6"
-  dependencies:
-    "@babel/helper-compilation-targets": ^7.18.6
-    "@babel/helper-function-name": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: d15d36f52d11a1b6dde3cfc0975eb9c030d66207875a722860bc0637f7515f94107b35320306967faaaa896523097e8f5c3dd6982d926f52016525ceaa9e3e42
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-literals@npm:^7.0.0":
+"@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-literals@npm:7.16.7"
   dependencies:
@@ -1701,18 +1266,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-literals@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-literals@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 859e2405d51931c8c0ea39890c0bcf6c7c01793fe99409844fe122e4c342528f87cd13b8210dd2873ecf5c643149b310c4bc5eb9a4c45928de142063ab04b2b8
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-member-expression-literals@npm:^7.0.0":
+"@babel/plugin-transform-member-expression-literals@npm:^7.0.0, @babel/plugin-transform-member-expression-literals@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-member-expression-literals@npm:7.16.7"
   dependencies:
@@ -1723,31 +1277,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-member-expression-literals@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-member-expression-literals@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 35a3d04f6693bc6b298c05453d85ee6e41cc806538acb6928427e0e97ae06059f97d2f07d21495fcf5f70d3c13a242e2ecbd09d5c1fcb1b1a73ff528dcb0b695
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-modules-amd@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-modules-amd@npm:7.18.6"
+"@babel/plugin-transform-modules-amd@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-modules-amd@npm:7.16.7"
   dependencies:
-    "@babel/helper-module-transforms": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-module-transforms": ^7.16.7
+    "@babel/helper-plugin-utils": ^7.16.7
     babel-plugin-dynamic-import-node: ^2.3.3
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: f60c4c4e0eaec41e42c003cbab44305da7a8e05b2c9bdfc2b3fe0f9e1d7441c959ff5248aa03e350abe530e354028cbf3aa20bf07067b11510997dad8dd39be0
+  checksum: 9ac251ee96183b10cf9b4ec8f9e8d52e14ec186a56103f6c07d0c69e99faa60391f6bac67da733412975e487bd36adb403e2fc99bae6b785bf1413e9d928bc71
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.1.0":
+"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.1.0, @babel/plugin-transform-modules-commonjs@npm:^7.16.8":
   version: 7.17.7
   resolution: "@babel/plugin-transform-modules-commonjs@npm:7.17.7"
   dependencies:
@@ -1762,20 +1305,6 @@ __metadata:
   linkType: hard
 
 "@babel/plugin-transform-modules-commonjs@npm:^7.18.2":
-  version: 7.18.2
-  resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.2"
-  dependencies:
-    "@babel/helper-module-transforms": ^7.18.0
-    "@babel/helper-plugin-utils": ^7.17.12
-    "@babel/helper-simple-access": ^7.18.2
-    babel-plugin-dynamic-import-node: ^2.3.3
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 99c1c5ce9c353e29eb680ebb5bdf27c076c6403e133a066999298de642423cc7f38cfbac02372d33ed73278da13be23c4be7d60169c3e27bd900a373e61a599a
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-modules-commonjs@npm:^7.18.6":
   version: 7.18.6
   resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.6"
   dependencies:
@@ -1789,53 +1318,52 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-modules-systemjs@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.6"
+"@babel/plugin-transform-modules-systemjs@npm:^7.16.7":
+  version: 7.17.8
+  resolution: "@babel/plugin-transform-modules-systemjs@npm:7.17.8"
   dependencies:
-    "@babel/helper-hoist-variables": ^7.18.6
-    "@babel/helper-module-transforms": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-validator-identifier": ^7.18.6
+    "@babel/helper-hoist-variables": ^7.16.7
+    "@babel/helper-module-transforms": ^7.17.7
+    "@babel/helper-plugin-utils": ^7.16.7
+    "@babel/helper-validator-identifier": ^7.16.7
     babel-plugin-dynamic-import-node: ^2.3.3
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 69e476477fe4c18a5975aa683684b2db76c76013d2387110ffc7b221071ec611cd3961b68631bdae7a57cb5cc0decdbb07119ef168e9dcdae9ba803a7b352ab0
+  checksum: 058c0e7987aab64c4019bc9eab3f80c5dd05bec737e230e5c60e9222dfb3d01b2dfa3aa1db6cbb75a4095c40af3bba2e3a60170b1570a158d3e781376569ce49
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-modules-umd@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-modules-umd@npm:7.18.6"
+"@babel/plugin-transform-modules-umd@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-modules-umd@npm:7.16.7"
   dependencies:
-    "@babel/helper-module-transforms": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-module-transforms": ^7.16.7
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: c3b6796c6f4579f1ba5ab0cdcc73910c1e9c8e1e773c507c8bb4da33072b3ae5df73c6d68f9126dab6e99c24ea8571e1563f8710d7c421fac1cde1e434c20153
+  checksum: d1433f8b0e0b3c9f892aa530f08fe3ba653a5e51fe1ed6034ac7d45d4d6f22c3ba99186b72e41ad9ce5d8dcf964104c3da2419f15fcdcf5ba05c5fda3ea2cefc
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.18.6"
+"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8":
+  version: 7.16.8
+  resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.16.8"
   dependencies:
-    "@babel/helper-create-regexp-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-create-regexp-features-plugin": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0
-  checksum: 6ef64aa3dad68df139eeaa7b6e9bb626be8f738ed5ed4db765d516944b1456d513b6bad3bb60fff22babe73de26436fd814a4228705b2d3d2fdb272c31da35e2
+  checksum: 73e149f5ff690f5b8e3764a881e8e5240f12f394256e7d5217705d0cbeae074c3faff394783190fe1a41f9fc5a53b960b6021158b7e5174391b5fc38f4ba047a
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-new-target@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-new-target@npm:7.18.6"
+"@babel/plugin-transform-new-target@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-new-target@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: bd780e14f46af55d0ae8503b3cb81ca86dcc73ed782f177e74f498fff934754f9e9911df1f8f3bd123777eed7c1c1af4d66abab87c8daae5403e7719a6b845d1
+  checksum: 7410c3e68abc835f87a98d40269e65fb1a05c131decbb6721a80ed49a01bd0c53abb6b8f7f52d5055815509022790e1accca32e975c02f2231ac3cf13d8af768
   languageName: node
   linkType: hard
 
@@ -1850,7 +1378,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-object-super@npm:^7.0.0":
+"@babel/plugin-transform-object-super@npm:^7.0.0, @babel/plugin-transform-object-super@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-object-super@npm:7.16.7"
   dependencies:
@@ -1862,18 +1390,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-object-super@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-object-super@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-replace-supers": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 0fcb04e15deea96ae047c21cb403607d49f06b23b4589055993365ebd7a7d7541334f06bf9642e90075e66efce6ebaf1eb0ef066fbbab802d21d714f1aac3aef
-  languageName: node
-  linkType: hard
-
 "@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.14.5, @babel/plugin-transform-parameters@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-parameters@npm:7.16.7"
@@ -1885,18 +1401,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-parameters@npm:^7.18.6":
-  version: 7.18.8
-  resolution: "@babel/plugin-transform-parameters@npm:7.18.8"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 2b5863300da60face8a250d91da16294333bd5626e9721b13a3ba2078bd2a5a190e32c6e7a1323d5f547f579aeb2804ff49a62a55fcad2b1d099e55a55b788ea
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-property-literals@npm:^7.0.0":
+"@babel/plugin-transform-property-literals@npm:^7.0.0, @babel/plugin-transform-property-literals@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-property-literals@npm:7.16.7"
   dependencies:
@@ -1907,17 +1412,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-property-literals@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-property-literals@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 1c16e64de554703f4b547541de2edda6c01346dd3031d4d29e881aa7733785cd26d53611a4ccf5353f4d3e69097bb0111c0a93ace9e683edd94fea28c4484144
-  languageName: node
-  linkType: hard
-
 "@babel/plugin-transform-react-constant-elements@npm:^7.0.0":
   version: 7.17.6
   resolution: "@babel/plugin-transform-react-constant-elements@npm:7.17.6"
@@ -2000,7 +1494,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-regenerator@npm:^7.0.0":
+"@babel/plugin-transform-regenerator@npm:^7.0.0, @babel/plugin-transform-regenerator@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-regenerator@npm:7.16.7"
   dependencies:
@@ -2011,26 +1505,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-regenerator@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-regenerator@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    regenerator-transform: ^0.15.0
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 60bd482cb0343c714f85c3e19a13b3b5fa05ee336c079974091c0b35e263307f4e661f4555dff90707a87d5efe19b1d51835db44455405444ac1813e268ad750
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-reserved-words@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-reserved-words@npm:7.18.6"
+"@babel/plugin-transform-reserved-words@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-reserved-words@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 0738cdc30abdae07c8ec4b233b30c31f68b3ff0eaa40eddb45ae607c066127f5fa99ddad3c0177d8e2832e3a7d3ad115775c62b431ebd6189c40a951b867a80c
+  checksum: 00218a646e99a97c1f10b77c41c178ca1b91d0e6cf18dd4ca3c59b8a5ad721db04ef508f49be4cd0dcca7742490dbb145307b706a2dbea1917d5e5f7ba2f31b7
   languageName: node
   linkType: hard
 
@@ -2050,7 +1532,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-shorthand-properties@npm:^7.0.0":
+"@babel/plugin-transform-shorthand-properties@npm:^7.0.0, @babel/plugin-transform-shorthand-properties@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-shorthand-properties@npm:7.16.7"
   dependencies:
@@ -2061,18 +1543,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-shorthand-properties@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-shorthand-properties@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: b8e4e8acc2700d1e0d7d5dbfd4fdfb935651913de6be36e6afb7e739d8f9ca539a5150075a0f9b79c88be25ddf45abb912fe7abf525f0b80f5b9d9860de685d7
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-spread@npm:^7.0.0":
+"@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-spread@npm:7.16.7"
   dependencies:
@@ -2084,19 +1555,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-spread@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-spread@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-skip-transparent-expression-wrappers": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 996b139ed68503700184f709dc996f285be285282d1780227185b622d9642f5bd60996fcfe910ed0495834f1935df805e7abb36b4b587222264c61020ba4485b
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-sticky-regex@npm:^7.0.0":
+"@babel/plugin-transform-sticky-regex@npm:^7.0.0, @babel/plugin-transform-sticky-regex@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-sticky-regex@npm:7.16.7"
   dependencies:
@@ -2107,18 +1566,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-sticky-regex@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-sticky-regex@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 68ea18884ae9723443ffa975eb736c8c0d751265859cd3955691253f7fee37d7a0f7efea96c8a062876af49a257a18ea0ed5fea0d95a7b3611ce40f7ee23aee3
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-template-literals@npm:^7.0.0":
+"@babel/plugin-transform-template-literals@npm:^7.0.0, @babel/plugin-transform-template-literals@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-template-literals@npm:7.16.7"
   dependencies:
@@ -2129,25 +1577,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-template-literals@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-template-literals@npm:7.18.6"
-  dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: 6ec354415f92850c927dd3ad90e337df8ee1aeb4cdb2c643208bc8652be91f647c137846586b14bc2b2d7ec408c2b74af2d154ba0972a4fe8b559f8c3e07a3aa
-  languageName: node
-  linkType: hard
-
-"@babel/plugin-transform-typeof-symbol@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-typeof-symbol@npm:7.18.6"
+"@babel/plugin-transform-typeof-symbol@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-typeof-symbol@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: b018ac3275958ed74caa2fdb900873bc61907e0cb8b70197ecd2f0e98611119d7a5831761bd14710882c94903e220e6338dd2e7346eca678c788b30457080a7e
+  checksum: 739a8c439dacbd9af62cfbfa0a7cbc3f220849e5fc774e5ef708a09186689a724c41a1d11323e7d36588d24f5481c8b702c86ff7be8da2e2fed69bed0175f625
   languageName: node
   linkType: hard
 
@@ -2164,18 +1601,18 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-unicode-escapes@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-unicode-escapes@npm:7.18.6"
+"@babel/plugin-transform-unicode-escapes@npm:^7.16.7":
+  version: 7.16.7
+  resolution: "@babel/plugin-transform-unicode-escapes@npm:7.16.7"
   dependencies:
-    "@babel/helper-plugin-utils": ^7.18.6
+    "@babel/helper-plugin-utils": ^7.16.7
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 297a03706723164a777263f76a8d89bccfb1d3fbc5e1075079dfd84372a5416d579da7d44c650abf935a1150a995bfce0e61966447b657f958e51c4ea45b72dc
+  checksum: d10c3b5baa697ca2d9ecce2fd7705014d7e1ddd86ed684ccec378f7ad4d609ab970b5546d6cdbe242089ecfc7a79009d248cf4f8ee87d629485acfb20c0d9160
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-unicode-regex@npm:^7.0.0":
+"@babel/plugin-transform-unicode-regex@npm:^7.0.0, @babel/plugin-transform-unicode-regex@npm:^7.16.7":
   version: 7.16.7
   resolution: "@babel/plugin-transform-unicode-regex@npm:7.16.7"
   dependencies:
@@ -2187,49 +1624,36 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/plugin-transform-unicode-regex@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/plugin-transform-unicode-regex@npm:7.18.6"
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-  peerDependencies:
-    "@babel/core": ^7.0.0-0
-  checksum: d9e18d57536a2d317fb0b7c04f8f55347f3cfacb75e636b4c6fa2080ab13a3542771b5120e726b598b815891fc606d1472ac02b749c69fd527b03847f22dc25e
-  languageName: node
-  linkType: hard
-
 "@babel/preset-env@npm:^7.15.1":
-  version: 7.18.6
-  resolution: "@babel/preset-env@npm:7.18.6"
+  version: 7.16.11
+  resolution: "@babel/preset-env@npm:7.16.11"
   dependencies:
-    "@babel/compat-data": ^7.18.6
-    "@babel/helper-compilation-targets": ^7.18.6
-    "@babel/helper-plugin-utils": ^7.18.6
-    "@babel/helper-validator-option": ^7.18.6
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.18.6
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.18.6
-    "@babel/plugin-proposal-async-generator-functions": ^7.18.6
-    "@babel/plugin-proposal-class-properties": ^7.18.6
-    "@babel/plugin-proposal-class-static-block": ^7.18.6
-    "@babel/plugin-proposal-dynamic-import": ^7.18.6
-    "@babel/plugin-proposal-export-namespace-from": ^7.18.6
-    "@babel/plugin-proposal-json-strings": ^7.18.6
-    "@babel/plugin-proposal-logical-assignment-operators": ^7.18.6
-    "@babel/plugin-proposal-nullish-coalescing-operator": ^7.18.6
-    "@babel/plugin-proposal-numeric-separator": ^7.18.6
-    "@babel/plugin-proposal-object-rest-spread": ^7.18.6
-    "@babel/plugin-proposal-optional-catch-binding": ^7.18.6
-    "@babel/plugin-proposal-optional-chaining": ^7.18.6
-    "@babel/plugin-proposal-private-methods": ^7.18.6
-    "@babel/plugin-proposal-private-property-in-object": ^7.18.6
-    "@babel/plugin-proposal-unicode-property-regex": ^7.18.6
+    "@babel/compat-data": ^7.16.8
+    "@babel/helper-compilation-targets": ^7.16.7
+    "@babel/helper-plugin-utils": ^7.16.7
+    "@babel/helper-validator-option": ^7.16.7
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.16.7
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.16.7
+    "@babel/plugin-proposal-async-generator-functions": ^7.16.8
+    "@babel/plugin-proposal-class-properties": ^7.16.7
+    "@babel/plugin-proposal-class-static-block": ^7.16.7
+    "@babel/plugin-proposal-dynamic-import": ^7.16.7
+    "@babel/plugin-proposal-export-namespace-from": ^7.16.7
+    "@babel/plugin-proposal-json-strings": ^7.16.7
+    "@babel/plugin-proposal-logical-assignment-operators": ^7.16.7
+    "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.7
+    "@babel/plugin-proposal-numeric-separator": ^7.16.7
+    "@babel/plugin-proposal-object-rest-spread": ^7.16.7
+    "@babel/plugin-proposal-optional-catch-binding": ^7.16.7
+    "@babel/plugin-proposal-optional-chaining": ^7.16.7
+    "@babel/plugin-proposal-private-methods": ^7.16.11
+    "@babel/plugin-proposal-private-property-in-object": ^7.16.7
+    "@babel/plugin-proposal-unicode-property-regex": ^7.16.7
     "@babel/plugin-syntax-async-generators": ^7.8.4
     "@babel/plugin-syntax-class-properties": ^7.12.13
     "@babel/plugin-syntax-class-static-block": ^7.14.5
     "@babel/plugin-syntax-dynamic-import": ^7.8.3
     "@babel/plugin-syntax-export-namespace-from": ^7.8.3
-    "@babel/plugin-syntax-import-assertions": ^7.18.6
     "@babel/plugin-syntax-json-strings": ^7.8.3
     "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4
     "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3
@@ -2239,48 +1663,48 @@ __metadata:
     "@babel/plugin-syntax-optional-chaining": ^7.8.3
     "@babel/plugin-syntax-private-property-in-object": ^7.14.5
     "@babel/plugin-syntax-top-level-await": ^7.14.5
-    "@babel/plugin-transform-arrow-functions": ^7.18.6
-    "@babel/plugin-transform-async-to-generator": ^7.18.6
-    "@babel/plugin-transform-block-scoped-functions": ^7.18.6
-    "@babel/plugin-transform-block-scoping": ^7.18.6
-    "@babel/plugin-transform-classes": ^7.18.6
-    "@babel/plugin-transform-computed-properties": ^7.18.6
-    "@babel/plugin-transform-destructuring": ^7.18.6
-    "@babel/plugin-transform-dotall-regex": ^7.18.6
-    "@babel/plugin-transform-duplicate-keys": ^7.18.6
-    "@babel/plugin-transform-exponentiation-operator": ^7.18.6
-    "@babel/plugin-transform-for-of": ^7.18.6
-    "@babel/plugin-transform-function-name": ^7.18.6
-    "@babel/plugin-transform-literals": ^7.18.6
-    "@babel/plugin-transform-member-expression-literals": ^7.18.6
-    "@babel/plugin-transform-modules-amd": ^7.18.6
-    "@babel/plugin-transform-modules-commonjs": ^7.18.6
-    "@babel/plugin-transform-modules-systemjs": ^7.18.6
-    "@babel/plugin-transform-modules-umd": ^7.18.6
-    "@babel/plugin-transform-named-capturing-groups-regex": ^7.18.6
-    "@babel/plugin-transform-new-target": ^7.18.6
-    "@babel/plugin-transform-object-super": ^7.18.6
-    "@babel/plugin-transform-parameters": ^7.18.6
-    "@babel/plugin-transform-property-literals": ^7.18.6
-    "@babel/plugin-transform-regenerator": ^7.18.6
-    "@babel/plugin-transform-reserved-words": ^7.18.6
-    "@babel/plugin-transform-shorthand-properties": ^7.18.6
-    "@babel/plugin-transform-spread": ^7.18.6
-    "@babel/plugin-transform-sticky-regex": ^7.18.6
-    "@babel/plugin-transform-template-literals": ^7.18.6
-    "@babel/plugin-transform-typeof-symbol": ^7.18.6
-    "@babel/plugin-transform-unicode-escapes": ^7.18.6
-    "@babel/plugin-transform-unicode-regex": ^7.18.6
+    "@babel/plugin-transform-arrow-functions": ^7.16.7
+    "@babel/plugin-transform-async-to-generator": ^7.16.8
+    "@babel/plugin-transform-block-scoped-functions": ^7.16.7
+    "@babel/plugin-transform-block-scoping": ^7.16.7
+    "@babel/plugin-transform-classes": ^7.16.7
+    "@babel/plugin-transform-computed-properties": ^7.16.7
+    "@babel/plugin-transform-destructuring": ^7.16.7
+    "@babel/plugin-transform-dotall-regex": ^7.16.7
+    "@babel/plugin-transform-duplicate-keys": ^7.16.7
+    "@babel/plugin-transform-exponentiation-operator": ^7.16.7
+    "@babel/plugin-transform-for-of": ^7.16.7
+    "@babel/plugin-transform-function-name": ^7.16.7
+    "@babel/plugin-transform-literals": ^7.16.7
+    "@babel/plugin-transform-member-expression-literals": ^7.16.7
+    "@babel/plugin-transform-modules-amd": ^7.16.7
+    "@babel/plugin-transform-modules-commonjs": ^7.16.8
+    "@babel/plugin-transform-modules-systemjs": ^7.16.7
+    "@babel/plugin-transform-modules-umd": ^7.16.7
+    "@babel/plugin-transform-named-capturing-groups-regex": ^7.16.8
+    "@babel/plugin-transform-new-target": ^7.16.7
+    "@babel/plugin-transform-object-super": ^7.16.7
+    "@babel/plugin-transform-parameters": ^7.16.7
+    "@babel/plugin-transform-property-literals": ^7.16.7
+    "@babel/plugin-transform-regenerator": ^7.16.7
+    "@babel/plugin-transform-reserved-words": ^7.16.7
+    "@babel/plugin-transform-shorthand-properties": ^7.16.7
+    "@babel/plugin-transform-spread": ^7.16.7
+    "@babel/plugin-transform-sticky-regex": ^7.16.7
+    "@babel/plugin-transform-template-literals": ^7.16.7
+    "@babel/plugin-transform-typeof-symbol": ^7.16.7
+    "@babel/plugin-transform-unicode-escapes": ^7.16.7
+    "@babel/plugin-transform-unicode-regex": ^7.16.7
     "@babel/preset-modules": ^0.1.5
-    "@babel/types": ^7.18.6
-    babel-plugin-polyfill-corejs2: ^0.3.1
-    babel-plugin-polyfill-corejs3: ^0.5.2
-    babel-plugin-polyfill-regenerator: ^0.3.1
-    core-js-compat: ^3.22.1
+    "@babel/types": ^7.16.8
+    babel-plugin-polyfill-corejs2: ^0.3.0
+    babel-plugin-polyfill-corejs3: ^0.5.0
+    babel-plugin-polyfill-regenerator: ^0.3.0
+    core-js-compat: ^3.20.2
     semver: ^6.3.0
   peerDependencies:
     "@babel/core": ^7.0.0-0
-  checksum: 0598ff98b69116e289174d89d976f27eff54d9d7f9f95a1feadf743c18021cd9785ddf2439de9af360f5625450816e4bc3b76ddd0c20ecc64e8802f943f07302
+  checksum: c8029c272073df787309d983ae458dd094b57f87152b8ccad95c7c8b1e82b042c1077e169538aae5f98b7659de0632d10708d9c85acf21a5e9406d7dd3656d8c
   languageName: node
   linkType: hard
 
@@ -2383,11 +1807,11 @@ __metadata:
   linkType: hard
 
 "@babel/runtime@npm:^7.15.1":
-  version: 7.18.6
-  resolution: "@babel/runtime@npm:7.18.6"
+  version: 7.17.8
+  resolution: "@babel/runtime@npm:7.17.8"
   dependencies:
     regenerator-runtime: ^0.13.4
-  checksum: 8b707b64ae0524db617d0c49933b258b96376a38307dc0be8fb42db5697608bcc1eba459acce541e376cff5ed5c5287d24db5780bd776b7c75ba2c2e26ff8a2c
+  checksum: 68d195c1630bb91ac20e86635d292a17ebab7f361cfe79406b3f5a6cc2e59fa283ae5006568899abf869312c2b35b744bd407aea8ffdb650f1a68d07785d47e9
   languageName: node
   linkType: hard
 
@@ -2403,13 +1827,13 @@ __metadata:
   linkType: hard
 
 "@babel/template@npm:^7.18.6":
-  version: 7.18.6
-  resolution: "@babel/template@npm:7.18.6"
+  version: 7.18.10
+  resolution: "@babel/template@npm:7.18.10"
   dependencies:
     "@babel/code-frame": ^7.18.6
-    "@babel/parser": ^7.18.6
-    "@babel/types": ^7.18.6
-  checksum: cb02ed804b7b1938dbecef4e01562013b80681843dd391933315b3dd9880820def3b5b1bff6320d6e4c6a1d63d1d5799630d658ec6b0369c5505e7e4029c38fb
+    "@babel/parser": ^7.18.10
+    "@babel/types": ^7.18.10
+  checksum: 93a6aa094af5f355a72bd55f67fa1828a046c70e46f01b1606e6118fa1802b6df535ca06be83cc5a5e834022be95c7b714f0a268b5f20af984465a71e28f1473
   languageName: node
   linkType: hard
 
@@ -2431,39 +1855,21 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/traverse@npm:^7.18.0":
-  version: 7.18.5
-  resolution: "@babel/traverse@npm:7.18.5"
-  dependencies:
-    "@babel/code-frame": ^7.16.7
-    "@babel/generator": ^7.18.2
-    "@babel/helper-environment-visitor": ^7.18.2
-    "@babel/helper-function-name": ^7.17.9
-    "@babel/helper-hoist-variables": ^7.16.7
-    "@babel/helper-split-export-declaration": ^7.16.7
-    "@babel/parser": ^7.18.5
-    "@babel/types": ^7.18.4
-    debug: ^4.1.0
-    globals: ^11.1.0
-  checksum: cc0470c880e15a748ca3424665c65836dba450fd0331fb28f9d30aa42acd06387b6321996517ab1761213f781fe8d657e2c3ad67c34afcb766d50653b393810f
-  languageName: node
-  linkType: hard
-
-"@babel/traverse@npm:^7.18.6, @babel/traverse@npm:^7.18.8":
-  version: 7.18.8
-  resolution: "@babel/traverse@npm:7.18.8"
+"@babel/traverse@npm:^7.18.9":
+  version: 7.18.13
+  resolution: "@babel/traverse@npm:7.18.13"
   dependencies:
     "@babel/code-frame": ^7.18.6
-    "@babel/generator": ^7.18.7
-    "@babel/helper-environment-visitor": ^7.18.6
-    "@babel/helper-function-name": ^7.18.6
+    "@babel/generator": ^7.18.13
+    "@babel/helper-environment-visitor": ^7.18.9
+    "@babel/helper-function-name": ^7.18.9
     "@babel/helper-hoist-variables": ^7.18.6
     "@babel/helper-split-export-declaration": ^7.18.6
-    "@babel/parser": ^7.18.8
-    "@babel/types": ^7.18.8
+    "@babel/parser": ^7.18.13
+    "@babel/types": ^7.18.13
     debug: ^4.1.0
     globals: ^11.1.0
-  checksum: c406e01f45f13a666083f6e4ea32d2d5e20ce3a51ea48f6c8fe9d6a0469069f857af06866749959c4396f191393e39e7e6e7b2a8769afca7f50ca1046d6172bd
+  checksum: 1a2ef738fac4968feba6385787a3f8f7357d08e7739ecc5b37d8ff5668935253a03290f700f02a85ccfd369d5898625f0722d7733bff2ef91504f6cd8b836f19
   languageName: node
   linkType: hard
 
@@ -2477,17 +1883,18 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/types@npm:^7.18.0, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.4":
-  version: 7.18.4
-  resolution: "@babel/types@npm:7.18.4"
+"@babel/types@npm:^7.18.10, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.8.3":
+  version: 7.18.13
+  resolution: "@babel/types@npm:7.18.13"
   dependencies:
-    "@babel/helper-validator-identifier": ^7.16.7
+    "@babel/helper-string-parser": ^7.18.10
+    "@babel/helper-validator-identifier": ^7.18.6
     to-fast-properties: ^2.0.0
-  checksum: 85df59beb99c1b95e9e41590442f2ffa1e5b1b558d025489db40c9f7c906bd03a17da26c3ec486e5800e80af27c42ca7eee9506d9212ab17766d2d68d30fbf52
+  checksum: abc3ad1f3b6864df0ea0e778bcdf7d2c5ee2293811192962d50e8a8c05c1aeec90a48275f53b2a45aad882ed8bef9477ae1f8e70ac1d44d039e14930d1388dcc
   languageName: node
   linkType: hard
 
-"@babel/types@npm:^7.18.6, @babel/types@npm:^7.18.7, @babel/types@npm:^7.18.8":
+"@babel/types@npm:^7.18.6":
   version: 7.18.8
   resolution: "@babel/types@npm:7.18.8"
   dependencies:
@@ -2497,17 +1904,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/types@npm:^7.8.3":
-  version: 7.18.10
-  resolution: "@babel/types@npm:7.18.10"
-  dependencies:
-    "@babel/helper-string-parser": ^7.18.10
-    "@babel/helper-validator-identifier": ^7.18.6
-    to-fast-properties: ^2.0.0
-  checksum: 11632c9b106e54021937a6498138014ebc9ad6c327a07b2af3ba8700773945aba4055fd136431cbe3a500d0f363cbf9c68eb4d6d38229897c5de9d06e14c85e8
-  languageName: node
-  linkType: hard
-
 "@bcoe/v8-coverage@npm:^0.2.3":
   version: 0.2.3
   resolution: "@bcoe/v8-coverage@npm:0.2.3"
@@ -2968,17 +2364,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@jridgewell/gen-mapping@npm:^0.3.0":
-  version: 0.3.1
-  resolution: "@jridgewell/gen-mapping@npm:0.3.1"
-  dependencies:
-    "@jridgewell/set-array": ^1.0.0
-    "@jridgewell/sourcemap-codec": ^1.4.10
-    "@jridgewell/trace-mapping": ^0.3.9
-  checksum: e9e7bb3335dea9e60872089761d4e8e089597360cdb1af90370e9d53b7d67232c1e0a3ab65fbfef4fc785745193fbc56bff9f3a6cab6c6ce3f15e12b4191f86b
-  languageName: node
-  linkType: hard
-
 "@jridgewell/gen-mapping@npm:^0.3.2":
   version: 0.3.2
   resolution: "@jridgewell/gen-mapping@npm:0.3.2"
@@ -2997,13 +2382,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@jridgewell/set-array@npm:^1.0.0":
-  version: 1.1.1
-  resolution: "@jridgewell/set-array@npm:1.1.1"
-  checksum: cc5d91e0381c347e3edee4ca90b3c292df9e6e55f29acbe0dd97de8651b4730e9ab761406fd572effa79972a0edc55647b627f8c72315e276d959508853d9bf2
-  languageName: node
-  linkType: hard
-
 "@jridgewell/set-array@npm:^1.0.1":
   version: 1.1.2
   resolution: "@jridgewell/set-array@npm:1.1.2"
@@ -3029,12 +2407,12 @@ __metadata:
   linkType: hard
 
 "@jridgewell/trace-mapping@npm:^0.3.9":
-  version: 0.3.14
-  resolution: "@jridgewell/trace-mapping@npm:0.3.14"
+  version: 0.3.15
+  resolution: "@jridgewell/trace-mapping@npm:0.3.15"
   dependencies:
     "@jridgewell/resolve-uri": ^3.0.3
     "@jridgewell/sourcemap-codec": ^1.4.10
-  checksum: b9537b9630ffb631aef9651a085fe361881cde1772cd482c257fe3c78c8fd5388d681f504a9c9fe1081b1c05e8f75edf55ee10fdb58d92bbaa8dbf6a7bd6b18c
+  checksum: 38917e9c2b014d469a9f51c016ed506acbe44dd16ec2f6f99b553ebf3764d22abadbf992f2367b6d2b3511f3eae8ed3a8963f6c1030093fda23efd35ecab2bae
   languageName: node
   linkType: hard
 
@@ -3099,22 +2477,22 @@ __metadata:
   linkType: hard
 
 "@npmcli/fs@npm:^2.1.0":
-  version: 2.1.1
-  resolution: "@npmcli/fs@npm:2.1.1"
+  version: 2.1.2
+  resolution: "@npmcli/fs@npm:2.1.2"
   dependencies:
     "@gar/promisify": ^1.1.3
     semver: ^7.3.5
-  checksum: 4944a0545d38d3e6e29780eeb3cd4be6059c1e9627509d2c9ced635c53b852d28b37cdc615a2adf815b51ab8673adb6507e370401a20a7e90c8a6dc4fac02389
+  checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225
   languageName: node
   linkType: hard
 
 "@npmcli/move-file@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "@npmcli/move-file@npm:2.0.0"
+  version: 2.0.1
+  resolution: "@npmcli/move-file@npm:2.0.1"
   dependencies:
     mkdirp: ^1.0.4
     rimraf: ^3.0.2
-  checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0
+  checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380
   languageName: node
   linkType: hard
 
@@ -5976,7 +5354,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"babel-plugin-polyfill-corejs2@npm:^0.3.0, babel-plugin-polyfill-corejs2@npm:^0.3.1":
+"babel-plugin-polyfill-corejs2@npm:^0.3.0":
   version: 0.3.1
   resolution: "babel-plugin-polyfill-corejs2@npm:0.3.1"
   dependencies:
@@ -5989,7 +5367,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"babel-plugin-polyfill-corejs3@npm:^0.5.0, babel-plugin-polyfill-corejs3@npm:^0.5.2":
+"babel-plugin-polyfill-corejs3@npm:^0.5.0":
   version: 0.5.2
   resolution: "babel-plugin-polyfill-corejs3@npm:0.5.2"
   dependencies:
@@ -6001,7 +5379,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"babel-plugin-polyfill-regenerator@npm:^0.3.0, babel-plugin-polyfill-regenerator@npm:^0.3.1":
+"babel-plugin-polyfill-regenerator@npm:^0.3.0":
   version: 0.3.1
   resolution: "babel-plugin-polyfill-regenerator@npm:0.3.1"
   dependencies:
@@ -6601,17 +5979,17 @@ __metadata:
   languageName: node
   linkType: hard
 
-"browserslist@npm:^4.18.1, browserslist@npm:^4.20.2, browserslist@npm:^4.21.1":
-  version: 4.21.2
-  resolution: "browserslist@npm:4.21.2"
+"browserslist@npm:^4.18.1":
+  version: 4.21.3
+  resolution: "browserslist@npm:4.21.3"
   dependencies:
-    caniuse-lite: ^1.0.30001366
-    electron-to-chromium: ^1.4.188
+    caniuse-lite: ^1.0.30001370
+    electron-to-chromium: ^1.4.202
     node-releases: ^2.0.6
-    update-browserslist-db: ^1.0.4
+    update-browserslist-db: ^1.0.5
   bin:
     browserslist: cli.js
-  checksum: 30fe59f8b065f99665ea63819d29c797660f7975857c290f61f570403abed4d7039ca15b6fd21e39a57b87e1a9262f94676114040766fc0da6ccc11faf9fc377
+  checksum: ff512a7bcca1c530e2854bbdfc7be2791d0fb524097a6340e56e1d5924164c7e4e0a9b070de04cdc4c149d15cb4d4275cb7c626ebbce954278a2823aaad2452a
   languageName: node
   linkType: hard
 
@@ -6807,8 +6185,8 @@ __metadata:
   linkType: hard
 
 "cacache@npm:^16.1.0":
-  version: 16.1.1
-  resolution: "cacache@npm:16.1.1"
+  version: 16.1.2
+  resolution: "cacache@npm:16.1.2"
   dependencies:
     "@npmcli/fs": ^2.1.0
     "@npmcli/move-file": ^2.0.0
@@ -6828,7 +6206,7 @@ __metadata:
     ssri: ^9.0.0
     tar: ^6.1.11
     unique-filename: ^1.1.1
-  checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a
+  checksum: defe1d6f557ddda178204cac111990da27e8a60ed276fcd608dad7109cc1936e7dcd57d7263d22cdb06a80e7ceb76ab5eb05133c7c7f886abf1d870d722abd6c
   languageName: node
   linkType: hard
 
@@ -7008,10 +6386,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"caniuse-lite@npm:^1.0.30001366":
-  version: 1.0.30001367
-  resolution: "caniuse-lite@npm:1.0.30001367"
-  checksum: 9912aed182b8b3a834787424b56a0e71b5ecb5d2cb7235fb022227bc3a81202e8a34bebc5dc9cc504c515b4e052f825c36c2db4b0b880c10e195fe63673edfc6
+"caniuse-lite@npm:^1.0.30001370":
+  version: 1.0.30001382
+  resolution: "caniuse-lite@npm:1.0.30001382"
+  checksum: 186ec65230bf315c4dbfb2785be811653869aaa7713c5e83dfa9ca9396be371f5e02a0dfe56b9c7069ad9ecff811d316b507d8a7c700d429e423d8808dee5771
   languageName: node
   linkType: hard
 
@@ -7788,7 +7166,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"core-js-compat@npm:^3.21.0":
+"core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0":
   version: 3.21.1
   resolution: "core-js-compat@npm:3.21.1"
   dependencies:
@@ -7798,16 +7176,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"core-js-compat@npm:^3.22.1":
-  version: 3.23.4
-  resolution: "core-js-compat@npm:3.23.4"
-  dependencies:
-    browserslist: ^4.21.1
-    semver: 7.0.0
-  checksum: cf9d48496576ed297b00ff78ef64f6da01681fa810e3e3283034d097be9de4ff113151eb5da1f40212fc1dc882749156db9b311d8dbad289e0e9172d05cc83de
-  languageName: node
-  linkType: hard
-
 "core-js-pure@npm:^3.20.2":
   version: 3.21.1
   resolution: "core-js-pure@npm:3.21.1"
@@ -9655,10 +9023,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"electron-to-chromium@npm:^1.4.188":
-  version: 1.4.192
-  resolution: "electron-to-chromium@npm:1.4.192"
-  checksum: b4c59ecdfa3c19a3d350a28129bc4162a9707378f69dbf00ea87d138e86696196e4ffcb1b23ba979368117f83333ed1bb26524749994134a06ec6ac9b9800847
+"electron-to-chromium@npm:^1.4.202":
+  version: 1.4.227
+  resolution: "electron-to-chromium@npm:1.4.227"
+  checksum: 9d3f6a78cae28d8e4712fac8087856c195b19543e05bc3ef7cc3f3701c11da44c9ac54038fc4de756dd4116204e13c5b41a1897c6072f84700986f8b22374579
   languageName: node
   linkType: hard
 
@@ -10156,6 +9524,21 @@ __metadata:
   languageName: node
   linkType: hard
 
+"eslint-plugin-prettier@npm:^3.1.4":
+  version: 3.4.1
+  resolution: "eslint-plugin-prettier@npm:3.4.1"
+  dependencies:
+    prettier-linter-helpers: ^1.0.0
+  peerDependencies:
+    eslint: ">=5.0.0"
+    prettier: ">=1.13.0"
+  peerDependenciesMeta:
+    eslint-config-prettier:
+      optional: true
+  checksum: fa6a89f0d7cba1cc87064352f5a4a68dc3739448dd279bec2bced1bfa3b704467e603d13b69dcec853f8fa30b286b8b715912898e9da776e1b016cf0ee48bd99
+  languageName: node
+  linkType: hard
+
 "eslint-plugin-react@npm:7.11.1":
   version: 7.11.1
   resolution: "eslint-plugin-react@npm:7.11.1"
@@ -10672,12 +10055,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"fast-check@npm:^2.11.0":
-  version: 2.23.2
-  resolution: "fast-check@npm:2.23.2"
+"fast-check@npm:2.13.0":
+  version: 2.13.0
+  resolution: "fast-check@npm:2.13.0"
   dependencies:
-    pure-rand: ^5.0.1
-  checksum: cfdc69b0b59e24cd4bf34ece386832976efe70c08d0906a743f7a333ef76f59f8dbc4914ad4e41d8a203de3251c298a111eb07dd55b8f614db135974d14f56c6
+    pure-rand: ^4.1.1
+  checksum: d892d5275afae17cfccb2062207ccd1f03cdb08b80ea6bba48722cc0b58f085eeefde6d5130b2238c62cec6eb75db6834b80aff472beae89dd427f7b5d6b3cc2
   languageName: node
   linkType: hard
 
@@ -10688,6 +10071,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"fast-diff@npm:^1.1.2":
+  version: 1.2.0
+  resolution: "fast-diff@npm:1.2.0"
+  checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae
+  languageName: node
+  linkType: hard
+
 "fast-glob@npm:^2.2.0, fast-glob@npm:^2.2.2":
   version: 2.2.7
   resolution: "fast-glob@npm:2.2.7"
@@ -14647,7 +14037,7 @@ jest-snapshot@test:
   languageName: node
   linkType: hard
 
-"json5@npm:^2.1.2, json5@npm:^2.2.1":
+"json5@npm:^2.1.2":
   version: 2.2.1
   resolution: "json5@npm:2.2.1"
   bin:
@@ -15274,9 +14664,10 @@ jest-snapshot@test:
     date-fns: 2.0.0-alpha.27
     deep-equal: ^2.0.5
     eslint: 5.6.0
+    eslint-plugin-prettier: ^3.1.4
     esm: ^3.0.82
     fake-indexeddb: ^3.1.3
-    fast-check: ^2.11.0
+    fast-check: 2.13.0
     fast-glob: ^2.2.0
     google-protobuf: ^3.12.0-rc.1
     jest: 25.2.7
@@ -15292,6 +14683,7 @@ jest-snapshot@test:
     node-fetch: ^1.6.3
     node-libofx: "*"
     perf-deets: ^1.0.15
+    prettier: ^1.19.1
     regenerator-runtime: ^0.13.7
     sanitize-filename: ^1.6.1
     search-query-parser: ^1.3.0
@@ -15404,9 +14796,9 @@ jest-snapshot@test:
   linkType: hard
 
 "lru-cache@npm:^7.7.1":
-  version: 7.13.2
-  resolution: "lru-cache@npm:7.13.2"
-  checksum: dfed24e52bae95edf490d0f28f4f14552319ac7e7dc37ae0b84a72e084949233821b33227271abe81d8361ac079810f9d171a706f316cfdeda135012e4311015
+  version: 7.14.0
+  resolution: "lru-cache@npm:7.14.0"
+  checksum: efdd329f2c1bb790b71d497c6c59272e6bc2d7dd060ba55fc136becd3dd31fc8346edb446275504d94cb60d3c8385dbf5267b79b23789e409b2bdf302d13f0d7
   languageName: node
   linkType: hard
 
@@ -15487,8 +14879,8 @@ jest-snapshot@test:
   linkType: hard
 
 "make-fetch-happen@npm:^10.0.3":
-  version: 10.2.0
-  resolution: "make-fetch-happen@npm:10.2.0"
+  version: 10.2.1
+  resolution: "make-fetch-happen@npm:10.2.1"
   dependencies:
     agentkeepalive: ^4.2.1
     cacache: ^16.1.0
@@ -15506,7 +14898,7 @@ jest-snapshot@test:
     promise-retry: ^2.0.1
     socks-proxy-agent: ^7.0.0
     ssri: ^9.0.0
-  checksum: 2f6c294179972f56fab40fd8618f07841e06550692bb78f6da16e7afaa9dca78c345b08cf44a77a8907ef3948e4dc77e93eb7492b8381f1217d7ac057a7522f8
+  checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c
   languageName: node
   linkType: hard
 
@@ -16220,8 +15612,8 @@ jest-snapshot@test:
   linkType: hard
 
 "minipass-fetch@npm:^2.0.3":
-  version: 2.1.0
-  resolution: "minipass-fetch@npm:2.1.0"
+  version: 2.1.2
+  resolution: "minipass-fetch@npm:2.1.2"
   dependencies:
     encoding: ^0.1.13
     minipass: ^3.1.6
@@ -16230,7 +15622,7 @@ jest-snapshot@test:
   dependenciesMeta:
     encoding:
       optional: true
-  checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f
+  checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91
   languageName: node
   linkType: hard
 
@@ -19051,7 +18443,16 @@ jest-snapshot@test:
   languageName: node
   linkType: hard
 
-"prettier@npm:^1.14.2, prettier@npm:^1.18.1":
+"prettier-linter-helpers@npm:^1.0.0":
+  version: 1.0.0
+  resolution: "prettier-linter-helpers@npm:1.0.0"
+  dependencies:
+    fast-diff: ^1.1.2
+  checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392
+  languageName: node
+  linkType: hard
+
+"prettier@npm:^1.14.2, prettier@npm:^1.18.1, prettier@npm:^1.19.1":
   version: 1.19.1
   resolution: "prettier@npm:1.19.1"
   bin:
@@ -19398,10 +18799,10 @@ jest-snapshot@test:
   languageName: node
   linkType: hard
 
-"pure-rand@npm:^5.0.1":
-  version: 5.0.1
-  resolution: "pure-rand@npm:5.0.1"
-  checksum: 2b05a6d80163308583a013fab8d7f7f2958a6f77895680c99d8c3ea1f3e49ac273716a59cb1777cfc370540df53e6dc017e46c70a869da81fe490b2e6703d77d
+"pure-rand@npm:^4.1.1":
+  version: 4.2.1
+  resolution: "pure-rand@npm:4.2.1"
+  checksum: 436122e60d3ac309d415d7969377bf22ca11f4da414703989341831accc5d09202e9271707bd85cb89d272b46d8e5f2e02e11a363156f010ea37394a4c646486
   languageName: node
   linkType: hard
 
@@ -20365,15 +19766,6 @@ jest-snapshot@test:
   languageName: node
   linkType: hard
 
-"regenerator-transform@npm:^0.15.0":
-  version: 0.15.0
-  resolution: "regenerator-transform@npm:0.15.0"
-  dependencies:
-    "@babel/runtime": ^7.8.4
-  checksum: 86e54849ab1167618d28bb56d214c52a983daf29b0d115c976d79840511420049b6b42c9ebdf187defa8e7129bdd74b6dd266420d0d3868c9fa7f793b5d15d49
-  languageName: node
-  linkType: hard
-
 "regex-not@npm:^1.0.0, regex-not@npm:^1.0.2":
   version: 1.0.2
   resolution: "regex-not@npm:1.0.2"
@@ -20415,20 +19807,6 @@ jest-snapshot@test:
   languageName: node
   linkType: hard
 
-"regexpu-core@npm:^5.1.0":
-  version: 5.1.0
-  resolution: "regexpu-core@npm:5.1.0"
-  dependencies:
-    regenerate: ^1.4.2
-    regenerate-unicode-properties: ^10.0.1
-    regjsgen: ^0.6.0
-    regjsparser: ^0.8.2
-    unicode-match-property-ecmascript: ^2.0.0
-    unicode-match-property-value-ecmascript: ^2.0.0
-  checksum: 7b4eb8d182d9d10537a220a93138df5bc7eaf4ed53e36b95e8427d33ed8a2b081468f1a15d3e5fcee66517e1df7f5ca180b999e046d060badd97150f2ffe87b2
-  languageName: node
-  linkType: hard
-
 "registry-auth-token@npm:^4.0.0":
   version: 4.2.1
   resolution: "registry-auth-token@npm:4.2.1"
@@ -23342,9 +22720,9 @@ jest-snapshot@test:
   languageName: node
   linkType: hard
 
-"update-browserslist-db@npm:^1.0.4":
-  version: 1.0.4
-  resolution: "update-browserslist-db@npm:1.0.4"
+"update-browserslist-db@npm:^1.0.5":
+  version: 1.0.5
+  resolution: "update-browserslist-db@npm:1.0.5"
   dependencies:
     escalade: ^3.1.1
     picocolors: ^1.0.0
@@ -23352,7 +22730,7 @@ jest-snapshot@test:
     browserslist: ">= 4.21.0"
   bin:
     browserslist-lint: cli.js
-  checksum: 7c7da28d0fc733b17e01c8fa9385ab909eadce64b8ea644e9603867dc368c2e2a6611af8247e72612b23f9e7cb87ac7c7585a05ff94e1759e9d646cbe9bf49a7
+  checksum: 7e425fe5dbbebdccf72a84ce70ec47fc74dce561d28f47bc2b84a1c2b84179a862c2261b18ab66a5e73e261c7e2ef9e11c6129112989d4d52e8f75a56bb923f8
   languageName: node
   linkType: hard