diff --git a/.eslintignore b/.eslintignore index 90fa2ec00..09edf4d84 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,4 +3,4 @@ cdk.out *.js # Temporarily ignore -services/crawler \ No newline at end of file +services/crawler diff --git a/.github/workflows/promote.yml b/.github/workflows/promote.yml index 21d14987a..734af3bbc 100644 --- a/.github/workflows/promote.yml +++ b/.github/workflows/promote.yml @@ -15,7 +15,7 @@ jobs: # if: ${{ !contains(github.event.head_commit.message, '(skip deploy)') }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: master token: ${{ github.token }} diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 29c2b0d03..a00d6730d 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out the repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install dependencies run: npm ci diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 7403cc485..765138bee 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Check out the repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set the stage for testing if: ${{ github.actor == 'nektos/act' }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c2f233761..8640ea889 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Check out the repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Get the tag name run: | diff --git a/apps/landing/package.json b/apps/landing/package.json index 35674998a..2e1de7dfa 100644 --- a/apps/landing/package.json +++ b/apps/landing/package.json @@ -21,7 +21,6 @@ "tailwindcss": "^3.2.0", "typescript": "^4.5.4", "vite": "^2.9.9", - "vite-plugin-pages": "^0.23.0", "vue-tsc": "^0.34.7" } } diff --git a/apps/landing/src/components/nav/NavBar.vue b/apps/landing/src/components/nav/NavBar.vue index ed6a3ad8b..92f2d2fe4 100644 --- a/apps/landing/src/components/nav/NavBar.vue +++ b/apps/landing/src/components/nav/NavBar.vue @@ -12,7 +12,7 @@ > - + + + We’ve written before about what the value + proposition of blockchain is and why we’re building technology as close + to the consensus layer as possible. Fundamentally, the consensus mechanism + is what powers a new medium; exchange of value without the need for a third + party, peer to peer transactions. It’s clear that many of the current issues + in the crypto space today are due to egregious speculative activity and + attempted takeovers from centralized entities acting far away from the + consensus layer. + +
+ We’ll briefly touch on some recent issues in the Web3 space, the major + reasons we think they occurred, and why we’re building Casimir to help fix this. +
+
+
+
+ Bridge Attacks +
+
+ In February 2022, the DeFi platform + + + Wormhole was exploited for $325 million. + Wormhole was a popular VC backed blockchain bridge designed to allow users to + access tokens across chains using a single access point. More recently the + + + Binance Smart Chain was exploited for $100M+. While bridges are a potentially + convenient solution to the mass of protocols in existence, a single smart + contract or hot wallet with $100M+ of deposited tokens is proving to be too + attractive of a target for hackers. So far in 2022, $2B worth of tokens on + bridges have been hacked! +
+
+ +
+
+ Decentralized in Name Only +
+
+ The first of the warning bells of the impending 2022 crypto sell off was + the collapse of Terra. There are a range of reasons why Terra collapsed but + simply, algorithmic stable coins backed by digital assets have fundamental + challenges due to the volatile nature of digital assets. + + + This early breakdown from Staking Rewards names a comyination of an + overreliance on the yield platform Anchor comyined with significant + off-chain usage on exchanges being a driving factor in the collapse of Terra. + Those externalities, controlled by central entities, effectively subverted + the consensus mechanism of the project by operating off-chain where + overleveraged risk could not be observed. Additional issues were caused + by a concentration of premined tokens in the hands of Terraform Labs who + essentially controlled protocol voting and overrode the desires of some in + the community to reduce risks. A more recent postmortem in June 2022 + showed that the liquidity issues and subsequent depegging of the UST + stable coin were + + + caused by Terraform Labs themselves. +
+
+
+ +
+ The Rise and Fall of CeDeFi +
+
+ Next to fall, and + + + still unwinding, is the “Centralized Decentralized Finance” (CeDeFi) company + Celsius. Companies like Celsius and BlockFi have driven huge growth in crypto + by offering high interest rate yields on your deposited tokens. They act as a + bank but don’t do a good job of indicating the potential risk their + depositors face nor do they follow the same regulations as traditional banks. + + + Celsius was exposed to Terra and potentially lost $500M there alone. More + recent are revelations that + + + Celsius executives cashed out just prior to the collapse and bankruptcy filing. +
+
+ Last of the + + + “contagion” was the + + + collapse of Three Arrows Capital. Ongoing investigations are looking at whether + + + 3AC took large margin longs on crypto through fraudulent activity and then were + subsequently liquidated over the past month of pullbacks. Overall, it sounds + pretty bad for 3AC management and + + + they might be going to jail. +
+
+ The unifying thread of these major collapses was the concentration of digital + assets and their control into single points of failure. Even worse, the users + themselves were in the dark, unaware of what was occurring with little + visibility into the behind-the-scenes actions of those companies. What the + latest round of speculative growth in Web3 was built around was, in short, + unsustainable, over-leveraged, unregulated, wildcat banking, totally divorced + from the core ideas of a decentralized currency. +
+
+ Unfortunately, all of these problems were intentionally created + (not the fallout of course); many players in the Web3 ecosystem today + are attempting to rebuild traditional business models around SaaS and + fee extractional models by creating layers of complexity that separate users + from the core Web3 value proposition: Peer to Peer transactions. +
+
+ While the 2022 drawback in Web3 did a lot to refocus the industry on its + core principles, there are still growing centralization and regulatory concerns: +
+
+ Ethereum Merge +
+
+ + + Ethereum 2.0 staking is currently heavily concentrated among major + cryptocurrency exchanges and the + + + Lido Pool. So far, just two centralized staking providers, + Coinbase and Lido, have mined almost 50% of + + + Ethereum blocks post merge. Control of cryptocurrencies by + “banks” (Coinbase, Kraken, BlockFi, FTX, etc) presents a + threat to the uncensorable features of the Ethereum blockchain. + With control of the Ethereum blockchain and operating under + U.S. regulatory policies, these entities must implement any and + all controls as required by law. What this means is that + cryptocurrencies would effectively become fiat currencies - + implemented by decree from the state. +
+
+ If we are to avoid this scenario we must help create a truly + decentralized ecosystem where a few centralized entities + can’t control the Consensus mechanism of a Web3 protocol. + We need native Web3 solutions - peer to peer, decentralized + solutions and tools that empower the users, not centralized + market makers. We’re building Casimir to do just that. +
+
+ Decentralization +
+
+ Probably the most overused and watered down word in the space + is decentralized. Everything in blockchain/web3 is called decentralized, + whether or not it actually is. The unfortunate reality is that + blockchains are decentralized in name only. + + + A recent study by Trail of Bits for DARPA concludes blockchains + are fairly centralized. They report that the pooled mining for + Bitcoin gives a Nakamoto coefficient of 4 to Bitcoin and Proof + of Stake protocols aren’t much better. I won’t get into criticism + of the overall piece by Trail of Bits, particularly the misassociation + of pools and protocol control for Bitcoin, but the Nakamoto Coefficient + for Proof of Stake is worth analyzing. Chris Remus of Chainflow has + written extensively on Staking Decentralization and currently maintains a + + + live Nakamoto Coefficient tracker that predates the Trail of Bits report. + The Nakamoto coefficient is a measure of decentralization and, + + + by definition, the numyer of nodes needed to control the Consensus mechanism + of the protocol. The lower the numyer, the less decentralized. At the time + of this writing, some major protocols have very low Nakamoto Coefficients, + of note Polygon is at 3. +
+
+ The goal of Proof of Stake protocols should be to get the highest Nakamoto + Coefficient numyer possible, which would make it very difficult to manipulate + the protocol since it would require simultaneous compromisation of hundreds + of nodes. For example, Cosmos has an active set of validators of 150, + around the world. Compromising all of them would be likely impossible, + however the Nakamoto Coefficient of Cosmos, is only 7, meaning that to + control the Consensus mechanism of Cosmos would only take a compromise of + the top 7 Cosmos validators. A tough job to be sure, but a lot easier than + the 150 total active validators in the Cosmos ecosystem. +
+
+ What this means in practice is that the allocation of staked tokens should + be spread across all validators as equally as possible, not continually + concentrated in a few of the already heavily staked validators. +
+ + + So why are the Nakamoto coefficients so low? Let’s talk about the User Experience + + +
+ metamask-tweet +
+ + +
+ User Experience +
+
+ The crypto user experience today… sucks. You’re forced to either leave + significant returns on the table and surrender control of your assets + to a major platform; or, endure the inconvenience of manually staking + across multiple protocols, wallets, platforms, and websites. It’s + harder to know what’s going on and it becomes easier to get scammed + through faulty smart contracts. The easiest way to manage multiple + crypto tokens and assets is through centralized exchanges like Coinbase, + which leave a lot to be desired. Not only are you not in true control + of your coins, if you’re staking, you’re missing out on potential + rewards that Coinbase scoops up for its bottom line. If you’re more + adventurous, you may have multiple wallets and multiple staking websites + you use. You have the benefits of self custody but are forced to go + through the process of managing the wide range of websites and wallets + you have to interact with the various protocols. It becomes confusing + to manage and monitor all of your stuff and there aren’t any good + solutions today that help you compile everything. +
+
+
+ What's more, current Web3 non-custodial products, like MetaMask, + fall far short of protecting users from scams or interacting with + bad smart contracts. Because cryptocurrencies are so difficult to + interact with and understand, even seasoned pros get manipulated and hacked. +
+
+ + metamask-tweet + + Metamask's respond... + +
+
+ +
+
+ + cosmos staking page + + Cosmos's staking page. + +
+
+ Let’s look at how this poor user experience even affects the + Consensus mechanisms of PoS protocols. One of the easiest + ways to stake in the + + + Cosmos Ecosystem is using Keplr, a mobile/web wallet that + allows you to stake to any of the Tendermint based protocols. + However, users trying to stake with Keplr aren’t given + much to work with. +
+
+
+ A new Staker has no way of deciding who to stake to. + There are no easy ways of determining whether a listed + validator is reliable or participating in the governance + of a protocol. Users have no real reason to choose a validator + outside of the top ten, because there are no tools to sort + and research each individual validator. So people just pick + validators from the top of the list due to the appearance of + quality. We can see this effect through the Nakamoto + Coefficient of Cosmos today, which is 7. What’s more, two + of the top five Validators are cryptocurrency exchanges. In + Proof of Stake today, cryptocurrency exchanges have an outsized + impact on the consensus mechanism of proof of stake protocols. +
+
+ So, we’re left where we started. Exchanges offer the best user + experience and are gaining control over Proof of Stake protocols. + Since exchanges are likely to be regulated more like banks in the + future, we are looking at a future where Proof of Stake is + controlled by banks. What this means is that they control + consensus. They can censor accounts, users, or transactions + that they don’t like or are told to by the government. That’s a + fundamental threat to the idea of decentralization and cryptocurrency + as a whole - an uncensorable digital currency. +
+
+ We’re seeing that a poor user experience is driving centralization + and will continue to lead to major single point of failures like + Celsius unless we create tools that allow users to take full + advantage of the protocols they use. +
+
+ How we're building Casimir +
+
+ First, we reexamined how Web3 and Crypto is being built today. + It’s been often stated that Web3 is “going to be just like the + internet”. It’s certainly true that there may be some parallels + in growth trajectory and societal impact; however, for many + projects in the space today, “just like the internet” means + being built using today’s internet: AWS/Google Cloud, numerous + HTML websites, and centralized SaaS powerhouses. With Casimir, + we want to break the paradigm of today’s Web3 and reexamine how + users interact with and use blockchains, cryptocurrencies, and Web3 overall. +
+
+ We are getting off the Web 2.0 rails and building something new, + a native web3 experience that prioritizes decentralization, user + experience, and user control. We’re building the first true Web3 + portal, capable of integrating with any wallet, any blockchain, + and any token, allowing users to easily navigate Web3 and interact + with the protocols directly, not through a centralized exchange + or a variety of unconnected websites. +
+
+ Improving the User Experience through Decentralization +
+
+
+ + cosmos staking page +
+
+
+ We’re starting bottom up. Unlike current UIs, designed with + traditional Web2 architectures, we’re starting at the Consensus + and Infrastructure layers of Web3. These layers of decentralized + node infrastructure providers hold fully indexed blockchain + databases, provide APIs for querying, worldwide decentralized + nodes for consistent uptime, and process transactions as they + are added to the blockchain. +
+
+
+ +
+ This won’t be a new protocol blockchain. A lot of the + interoperability efforts so far have just created yet another + blockchain, another website, another token, and another wallet. + The future of Web3 is a multichain experience and although bridges + have been a temporary fix to move between chains, they’ve become + too much of a risk and a better solution would be to create an + interface that allows users to seamlessly move between protocols + and wallets without having to +
+
+ By accessing these nodes directly, users are assured of uptime, + uncensorable transactions, and can minimize fees taken by the normal + third party intermediaries. Also, users can access on-chain + analytics and information that these nodes carry as well as the + various smart contracts and tokens each protocol supports. +
+
+ There are 3 key areas we’re focusing on as we design Casimir: + Transparency through Decentralization, Usability, and Security. +
+
+ Transparency through Decentralization: +
+
+ Usability: Similar to a Mint or Personal Capital, it will be a + place where users can aggregate their digital currencies and + assets, for an easy place to manage what they have across the + various protocols they use. Most crypto users have multiple wallets + and assets from a variety of protocols, so a single location for + them to better manage and view their assets is much needed without + it being a single point of failure for any stakeholder. + Cross chain without the Bridge. +
+
+ Casimir will do more than just a Mint, however, it will allow + users to interact with their chosen protocols, accessing mints + and air-drops, Stake and manage their digital currencies across + protocols beyond ethereum, and access specialized tooling that + helps protect users. These user toolings are, frankly, things + that should already exist: +
+
+ Security (non custodial, non tracking, analytics, on chain custody): + Smart contract analyzer for users to know what their interaction + with a smart contract will *actually* do and informs users of what + smart contracts they’ve given permissions to and enables them to + cancel those permissions on old contracts. Because we are working + at the protocol level, we are able to provide users with real time + information and on chain analytics to help users make the best + decisions with their digital assets. +
+
+ We eventually plan to launch a mobile/web wallet that will give + users full control over the assets from tokens to NFTs and beyond + for any major token protocol. This wallet will have intuitive + backups and protection for users while allowing them to easily + access the entire Web3 ecosystem. +
+ diff --git a/apps/landing/src/pages/whitepaper/components/casimir-user-flow.png b/apps/landing/src/pages/whitepaper/components/casimir-user-flow.png new file mode 100644 index 000000000..08817088c Binary files /dev/null and b/apps/landing/src/pages/whitepaper/components/casimir-user-flow.png differ diff --git a/apps/landing/src/pages/whitepaper/components/cosmos-staking.png b/apps/landing/src/pages/whitepaper/components/cosmos-staking.png new file mode 100644 index 000000000..acd366eed Binary files /dev/null and b/apps/landing/src/pages/whitepaper/components/cosmos-staking.png differ diff --git a/apps/landing/src/pages/whitepaper/components/current-web3-user-flow.png b/apps/landing/src/pages/whitepaper/components/current-web3-user-flow.png new file mode 100644 index 000000000..7417ea22f Binary files /dev/null and b/apps/landing/src/pages/whitepaper/components/current-web3-user-flow.png differ diff --git a/apps/landing/src/pages/whitepaper/components/metamask-tweet.png b/apps/landing/src/pages/whitepaper/components/metamask-tweet.png new file mode 100644 index 000000000..79dd8f798 Binary files /dev/null and b/apps/landing/src/pages/whitepaper/components/metamask-tweet.png differ diff --git a/apps/landing/tailwind.config.js b/apps/landing/tailwind.config.js index e22431180..2cf6fcd6f 100644 --- a/apps/landing/tailwind.config.js +++ b/apps/landing/tailwind.config.js @@ -49,6 +49,7 @@ module.exports = { spacing: { 'gutter': '16px', 'navbar': '300px', + 'margins': '48px', 'routerview': `calc(100vh - 300px)`, } }, diff --git a/apps/landing/vite.config.ts b/apps/landing/vite.config.ts index 1faa786d4..74e6af11c 100644 --- a/apps/landing/vite.config.ts +++ b/apps/landing/vite.config.ts @@ -2,15 +2,10 @@ import vue from '@vitejs/plugin-vue' import { UserConfig } from 'vite' import { fileURLToPath } from 'url' import * as path from 'path' -import pages from 'vite-plugin-pages' const config: UserConfig = { plugins: [ - vue({ include: [/\.vue$/] }), - pages({ - dirs: [{ dir: 'src/pages', baseRoute: '' }], - extensions: ['vue'], - }), + vue({ include: [/\.vue$/] }) ], define: { 'window.global': 'globalThis', diff --git a/package-lock.json b/package-lock.json index 63fd4893b..62f89bd94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,6 @@ "eslint-plugin-vue": "^8.7.1", "esno": "^0.16.3", "express": "^4.18.1", - "html-to-text": "^8.2.0", "http-proxy-middleware": "^2.0.6", "husky": "^8.0.1", "lint-staged": "^13.0.0", @@ -47,7 +46,6 @@ "tailwindcss": "^3.2.0", "typescript": "^4.5.4", "vite": "^2.9.9", - "vite-plugin-pages": "^0.23.0", "vue-tsc": "^0.34.7" } }, @@ -398,25 +396,25 @@ } }, "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.188.0.tgz", - "integrity": "sha512-WielYjaAHfT/HAOW7Tj6yVeNdaOtts3aUm9Sf/3D+ElbCTGyaaMNfE4x0a+qn6dJZXewf1eAxybOIU5ftIeSGw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.204.0.tgz", + "integrity": "sha512-ejJntS6usQpKKwisIaK4yYjo8DKEPpk7eJ7fJCw0r4WmIa7xN3amZISP4TrnKa401nWxbfzd40Wh/R5p75JMNQ==", "dependencies": { - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.202.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/client-athena": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.202.0.tgz", - "integrity": "sha512-8ZjDCUXgxV2GleUtBAyZsYuDr+VAH0QbChChIli3rfMI0zEE7b/qGyAkhMIL5O0SE9EKpNZuYowN/YSILH3CIQ==", + "version": "3.205.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.205.0.tgz", + "integrity": "sha512-zSxR5TTWVdBciqAeVSBp7zOHRpAN15/+ET0v3h3aylcMz7r8fX8Ld3xuW+M6GOJjEwCTLgMv5yrwEf/s4zUPuQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.202.0", + "@aws-sdk/client-sts": "3.204.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/credential-provider-node": "3.202.0", - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/credential-provider-node": "3.204.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", @@ -435,6 +433,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -454,25 +453,25 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.202.0.tgz", - "integrity": "sha512-Xo1x3EKajHJpWzx0CNHwTjHaVW32b1Gj6WJ8daOSjpEisyx2qdvqJkMAUxDAMaAMIGolOVTDpe5Pijwn4WjiUg==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.204.0.tgz", + "integrity": "sha512-TtaOQ0ArmqV23Ie/FUChMIdAT5ebg5FSSimN3X2SFVmXRt9c9N73X/gLHKqzf30Dgsl7M/w9O6jFtlbvANjBmA==", "dependencies": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.202.0", + "@aws-sdk/client-sts": "3.204.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/credential-provider-node": "3.202.0", + "@aws-sdk/credential-provider-node": "3.204.0", "@aws-sdk/eventstream-serde-browser": "3.201.0", "@aws-sdk/eventstream-serde-config-resolver": "3.201.0", "@aws-sdk/eventstream-serde-node": "3.201.0", - "@aws-sdk/fetch-http-handler": "3.201.0", - "@aws-sdk/hash-blob-browser": "3.201.0", + "@aws-sdk/fetch-http-handler": "3.204.0", + "@aws-sdk/hash-blob-browser": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/hash-stream-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", - "@aws-sdk/md5-js": "3.201.0", + "@aws-sdk/md5-js": "3.204.0", "@aws-sdk/middleware-bucket-endpoint": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", "@aws-sdk/middleware-endpoint": "3.201.0", @@ -496,6 +495,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -503,7 +503,7 @@ "@aws-sdk/util-defaults-mode-browser": "3.201.0", "@aws-sdk/util-defaults-mode-node": "3.201.0", "@aws-sdk/util-endpoints": "3.202.0", - "@aws-sdk/util-stream-browser": "3.201.0", + "@aws-sdk/util-stream-browser": "3.204.0", "@aws-sdk/util-stream-node": "3.201.0", "@aws-sdk/util-user-agent-browser": "3.201.0", "@aws-sdk/util-user-agent-node": "3.201.0", @@ -519,14 +519,14 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.202.0.tgz", - "integrity": "sha512-c0impiZUbJeB5AdyZyER81tsqF9bxxaEz6p2LYkTn62NWVXPWEUo/1CHQRj36MUzorz1xiWKIN0NPgK6GBJkPQ==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.204.0.tgz", + "integrity": "sha512-AECcNrcAQxV/Jlu8ogshRaYwt2jayx0omQJs/SXj70mWxmbk4MQnb+DqJIpPpOKBHaza/xlC2TKS1RzkiuZxyw==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", @@ -544,6 +544,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -562,15 +563,15 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.202.0.tgz", - "integrity": "sha512-WGRFzODig8+cZR903q3fa7OAzGigSuzD9AoK+ybefQa7bxSuhT2ous4GNPOJz9WYWvugEPyrJu8vbG35IoF1ZQ==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.204.0.tgz", + "integrity": "sha512-Tp6FqENRw31XK5r5hul1JXnQgHBhbbXhoMebyFih6/zjpATaqg0bnV6tpww4yPi3uc+yDGXKw2/tDroSsyTsRA==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/credential-provider-node": "3.202.0", - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/credential-provider-node": "3.204.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", @@ -590,6 +591,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -652,13 +654,13 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.202.0.tgz", - "integrity": "sha512-d0kiYMpGzAq3EBXgEJ1SdeoMXVf3lk6NKHDi/Gy8LB03sZqgc5cY4XFCnY3cqE3DNWWZNR26M4j/KiA0LIjAVA==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.204.0.tgz", + "integrity": "sha512-ddtaS0ya5lgZZwfuJ/FuniroreLJ6yDgPAasol/rla9U5EU0qUEK1+6PX463exghUGjYfTqxdrKXhGYZfuEoIw==", "dependencies": { "@aws-sdk/credential-provider-env": "3.201.0", "@aws-sdk/credential-provider-imds": "3.201.0", - "@aws-sdk/credential-provider-sso": "3.202.0", + "@aws-sdk/credential-provider-sso": "3.204.0", "@aws-sdk/credential-provider-web-identity": "3.201.0", "@aws-sdk/property-provider": "3.201.0", "@aws-sdk/shared-ini-file-loader": "3.201.0", @@ -670,15 +672,15 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.202.0.tgz", - "integrity": "sha512-/uHNs3c1O3oFpH7z9nnpjyg8NKNyRbNxUDIHkuHkNSUUKXpfBisDX6TMbD4VcflGuNdkbT+8spkw5vsE8ox3ig==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.204.0.tgz", + "integrity": "sha512-kGbR5JE90zBGDS4cIz7tlUklMMeOm5oc5ES74YStLUacpQKwzVcHmDG8aT2DCONS/wEYysOIs5LygHurOJ/+Ww==", "dependencies": { "@aws-sdk/credential-provider-env": "3.201.0", "@aws-sdk/credential-provider-imds": "3.201.0", - "@aws-sdk/credential-provider-ini": "3.202.0", + "@aws-sdk/credential-provider-ini": "3.204.0", "@aws-sdk/credential-provider-process": "3.201.0", - "@aws-sdk/credential-provider-sso": "3.202.0", + "@aws-sdk/credential-provider-sso": "3.204.0", "@aws-sdk/credential-provider-web-identity": "3.201.0", "@aws-sdk/property-provider": "3.201.0", "@aws-sdk/shared-ini-file-loader": "3.201.0", @@ -704,11 +706,11 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.202.0.tgz", - "integrity": "sha512-EBUY/qKboJwy3qxPHiD/LAnhzga4xR1p++QMoxg2BKgkgwlvGb23lYGr5DSCNhdtJj5o165YZDbGYH+PKn2NVw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.204.0.tgz", + "integrity": "sha512-iS884Gda99x4zmdCK3XxFcceve4wB+wudpeTUm2wwX9AGrSzoUnLWqNXv/R8UAMAsKANaWMBkqv/bsHpsEitZw==", "dependencies": { - "@aws-sdk/client-sso": "3.202.0", + "@aws-sdk/client-sso": "3.204.0", "@aws-sdk/property-provider": "3.201.0", "@aws-sdk/shared-ini-file-loader": "3.201.0", "@aws-sdk/types": "3.201.0", @@ -794,24 +796,24 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.201.0.tgz", - "integrity": "sha512-uiEoH79j6WOpbp4THcpvD9XmD+vPgy+00oyYXjtZqJnv2PM/9b6tGWKTdI+TJW4P/oPv7HP7JmRlkGaTnkIdXw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.204.0.tgz", + "integrity": "sha512-TfIhWYQ4CTjrD+FSuBcKMSVrqq8GCwqCfUyalWmSKo4JIFhN5OxUnOFb1/ecE/TJX+YgZ65w4qhVJVHHmh229Q==", "dependencies": { "@aws-sdk/protocol-http": "3.201.0", "@aws-sdk/querystring-builder": "3.201.0", "@aws-sdk/types": "3.201.0", - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.202.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.201.0.tgz", - "integrity": "sha512-nlmIwoRoCkMveFCbELpysuNtGc5wEdVZLKJGbpgGh4H6JUPtpRKSY5oNBIM8xLtCqPTTmd0l9xPLkITZnFO2cw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.204.0.tgz", + "integrity": "sha512-Et0Nic7jnrYtqQt97JMPGkKJ3CFaulW70vFElDypV+TURsuxelweANQfrHsurk+xvHLHakMG5glAVHgyONtXZg==", "dependencies": { "@aws-sdk/chunked-blob-reader": "3.188.0", - "@aws-sdk/chunked-blob-reader-native": "3.188.0", + "@aws-sdk/chunked-blob-reader-native": "3.204.0", "@aws-sdk/types": "3.201.0", "tslib": "^2.3.1" } @@ -862,9 +864,9 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.202.0.tgz", - "integrity": "sha512-gG+roCAwba3VrnkXsX0s6sC0asEhs5MuXyiRD03XilQ+dOYc0ewU2iRQzgtNZnnIJx9A6eTrpoIkNOVyOYqOlw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.204.0.tgz", + "integrity": "sha512-U+N/AG4EkGnlW4asWqiXY3aLMUwuTEaKS0RXetBncXId1rkkSczj0X1XeewiSHQLeSll+bvvYsn3wbgsfj53tA==", "dependencies": { "@aws-sdk/middleware-endpoint": "3.201.0", "@aws-sdk/smithy-client": "3.201.0", @@ -882,9 +884,9 @@ } }, "node_modules/@aws-sdk/md5-js": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.201.0.tgz", - "integrity": "sha512-dhbBzS3GPcz1uOfhQG6g+XDKpCa45p5myRWUiJsyiUJ8xsrDAQLzF70aCA3KzTrkLOszQdovZ9mtKcJ9rbjkrw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.204.0.tgz", + "integrity": "sha512-RXiCvi58Xl2ja9bmd5iFVZyzhGVzBdlLC7uu8Ug9IbF++6muBJ2WdjMkhoMsi5GXqs6238rX3rRt3dLVGKEIqA==", "dependencies": { "@aws-sdk/types": "3.201.0", "@aws-sdk/util-utf8-browser": "3.188.0", @@ -1307,6 +1309,18 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/util-base64": { + "version": "3.202.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.202.0.tgz", + "integrity": "sha512-0QlvxCSU2CITeR/x87zls9ma+CkN3EXRGM3M5XnHWaneDI9K+O2uPpAbDfLh0SBJyO0AfIMn7Vh/BvnNNPEDpg==", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.201.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/util-base64-browser": { "version": "3.188.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", @@ -1445,13 +1459,13 @@ } }, "node_modules/@aws-sdk/util-stream-browser": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.201.0.tgz", - "integrity": "sha512-auCnohsG9inCcpZYk+oNst3oQIHy0lXIz/B/upAzx7IBiY2qtQLk4up3u+I38BRHvcfiSY2ly71OJbBrD/fQbw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.204.0.tgz", + "integrity": "sha512-LH+Th/Oww6icUvqVbL5Y+R4mUGUuwLRWpiOJnK8/Ufyw7JMEvHZOGXPIAtXmEB1t+0gTVVDCP0Z0y6ItINlGtA==", "dependencies": { - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/types": "3.201.0", - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-hex-encoding": "3.201.0", "@aws-sdk/util-utf8-browser": "3.188.0", "tslib": "^2.3.1" @@ -1577,20 +1591,20 @@ } }, "node_modules/@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", + "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", + "@babel/generator": "^7.20.2", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.1", + "@babel/parser": "^7.20.2", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1614,11 +1628,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.3.tgz", + "integrity": "sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A==", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.20.2", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -1676,16 +1690,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", + "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6" }, "engines": { @@ -1773,18 +1787,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1802,9 +1816,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "engines": { "node": ">=6.9.0" } @@ -1825,11 +1839,11 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dependencies": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1961,9 +1975,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", + "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -2228,9 +2242,9 @@ } }, "node_modules/@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", + "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", "dependencies": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -5444,19 +5458,6 @@ "@scure/base": "~1.1.0" } }, - "node_modules/@selderee/plugin-htmlparser2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz", - "integrity": "sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==", - "dev": true, - "dependencies": { - "domhandler": "^4.2.0", - "selderee": "^0.6.0" - }, - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, "node_modules/@sentry/core": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", @@ -5606,9 +5607,9 @@ } }, "node_modules/@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", + "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", "dev": true, "dependencies": { "type-detect": "4.0.8" @@ -5928,9 +5929,9 @@ "dev": true }, "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -5996,9 +5997,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "node_modules/@types/connect": { @@ -6164,9 +6165,9 @@ } }, "node_modules/@types/lodash": { - "version": "4.14.187", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.187.tgz", - "integrity": "sha512-MrO/xLXCaUgZy3y96C/iOsaIqZSeupyTImKClHunL5GrmaiII2VwvWmLBu2hwa0Kp0sV19CsyjtrTc/Fx8rg/A==" + "version": "4.14.188", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.188.tgz", + "integrity": "sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==" }, "node_modules/@types/long": { "version": "3.0.32", @@ -6324,9 +6325,9 @@ } }, "node_modules/@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz", + "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==", "dev": true, "dependencies": { "@types/chai": "*", @@ -6412,14 +6413,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz", - "integrity": "sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz", + "integrity": "sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/type-utils": "5.42.0", - "@typescript-eslint/utils": "5.42.0", + "@typescript-eslint/scope-manager": "5.42.1", + "@typescript-eslint/type-utils": "5.42.1", + "@typescript-eslint/utils": "5.42.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -6552,14 +6553,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz", - "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.1.tgz", + "integrity": "sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "5.42.1", + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/typescript-estree": "5.42.1", "debug": "^4.3.4" }, "engines": { @@ -6579,13 +6580,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz", - "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz", + "integrity": "sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0" + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/visitor-keys": "5.42.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6596,13 +6597,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz", - "integrity": "sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz", + "integrity": "sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.42.0", - "@typescript-eslint/utils": "5.42.0", + "@typescript-eslint/typescript-estree": "5.42.1", + "@typescript-eslint/utils": "5.42.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -6623,9 +6624,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz", - "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.1.tgz", + "integrity": "sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6636,13 +6637,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz", - "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz", + "integrity": "sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0", + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/visitor-keys": "5.42.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6663,16 +6664,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.0.tgz", - "integrity": "sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.1.tgz", + "integrity": "sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "5.42.1", + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/typescript-estree": "5.42.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -6689,12 +6690,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz", - "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz", + "integrity": "sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", + "@typescript-eslint/types": "5.42.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -7514,15 +7515,15 @@ "dev": true }, "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "is-string": "^1.0.7" }, "engines": { @@ -7714,7 +7715,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -9002,9 +9002,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", + "version": "1.0.30001431", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", + "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", "funding": [ { "type": "opencollective", @@ -9070,14 +9070,14 @@ } }, "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -9858,9 +9858,9 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "node_modules/constructs": { - "version": "10.1.149", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.149.tgz", - "integrity": "sha512-0YG2CbiMt2O/B4QFNMXthjN2E2mmdDpE4ROx9v2RX8uxG3HktoF+cZqqwCkJKPaCzHPS/MyDVPW1LLsmwbYvAw==", + "version": "10.1.153", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.153.tgz", + "integrity": "sha512-FWgBuYWlBlzZWO3uXNBWrA9YuRzG7CkDWcte/BWAQ9zO1wFq71YfgfOYq3PV3J5WtbyJ6jkzRQa877/XXyq/fg==", "engines": { "node": ">= 14.17.0" } @@ -11288,15 +11288,15 @@ "dev": true }, "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz", + "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==", "dev": true, "dependencies": { "type-detect": "^4.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=6" } }, "node_modules/deep-equal": { @@ -11565,12 +11565,6 @@ "node": ">=8" } }, - "node_modules/discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==", - "dev": true - }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", @@ -11589,37 +11583,11 @@ "node": ">=6.0.0" } }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, "node_modules/dom-walk": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, "node_modules/domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", @@ -11641,35 +11609,6 @@ "node": ">=8" } }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -11818,15 +11757,6 @@ "node": ">=8.6" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -12420,9 +12350,9 @@ } }, "node_modules/eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", + "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", @@ -12883,9 +12813,9 @@ } }, "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, "dependencies": { "acorn": "^8.8.0", @@ -14366,7 +14296,6 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -26586,45 +26515,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/html-to-text": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.1.tgz", - "integrity": "sha512-aN/3JvAk8qFsWVeE9InWAWueLXrbkoVZy0TkzaGhoRBC2gCFEeRLDDJN3/ijIGHohy6H+SZzUQWN/hcYtaPK8w==", - "dev": true, - "dependencies": { - "@selderee/plugin-htmlparser2": "^0.6.0", - "deepmerge": "^4.2.2", - "he": "^1.2.0", - "htmlparser2": "^6.1.0", - "minimist": "^1.2.6", - "selderee": "^0.6.0" - }, - "bin": { - "html-to-text": "bin/cli.js" - }, - "engines": { - "node": ">=10.23.2" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, "node_modules/http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", @@ -26734,9 +26624,9 @@ } }, "node_modules/husky": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", - "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz", + "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==", "dev": true, "bin": { "husky": "lib/bin.js" @@ -26800,7 +26690,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -29620,7 +29509,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "dependencies": { "universalify": "^2.0.0" }, @@ -30634,9 +30522,9 @@ } }, "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "dependencies": { "get-func-name": "^2.0.0" @@ -31370,12 +31258,6 @@ "node": ">=10" } }, - "node_modules/moo": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", - "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", - "dev": true - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -31455,28 +31337,6 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, - "node_modules/nearley": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", - "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", - "dev": true, - "dependencies": { - "commander": "^2.19.0", - "moo": "^0.5.0", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6" - }, - "bin": { - "nearley-railroad": "bin/nearley-railroad.js", - "nearley-test": "bin/nearley-test.js", - "nearley-unparse": "bin/nearley-unparse.js", - "nearleyc": "bin/nearleyc.js" - }, - "funding": { - "type": "individual", - "url": "https://nearley.js.org/#give-to-nearley" - } - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -31905,28 +31765,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" @@ -31936,13 +31796,13 @@ } }, "node_modules/object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "dependencies": { "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -31961,14 +31821,14 @@ } }, "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" @@ -32552,19 +32412,6 @@ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "node_modules/parseley": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz", - "integrity": "sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==", - "dev": true, - "dependencies": { - "moo": "^0.5.1", - "nearley": "^2.20.1" - }, - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -33792,25 +33639,6 @@ "node": ">=8" } }, - "node_modules/railroad-diagrams": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==", - "dev": true - }, - "node_modules/randexp": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", - "dev": true, - "dependencies": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -35059,9 +34887,9 @@ } }, "node_modules/rpc-websockets/node_modules/ws": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.10.0.tgz", - "integrity": "sha512-+s49uSmZpvtAsd2h37vIPy1RBusaLawVe8of+GyEPsaJTCMpj/2v8NpeK1SHXjBlQ95lQTmQofOJnFiLoaN3yw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "engines": { "node": ">=10.0.0" }, @@ -35587,18 +35415,6 @@ "node": ">=10.0.0" } }, - "node_modules/selderee": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz", - "integrity": "sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==", - "dev": true, - "dependencies": { - "parseley": "^0.7.0" - }, - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, "node_modules/semaphore": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", @@ -36437,9 +36253,9 @@ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" @@ -36721,18 +36537,18 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", + "regexp.prototype.flags": "^1.4.3", "side-channel": "^1.0.4" }, "funding": { @@ -36740,28 +36556,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -37010,9 +36826,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz", - "integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.2.tgz", + "integrity": "sha512-c2GtSdqg+harR4QeoTmex0Ngfg8IIHNeLQH5yr2B9uZbZR1Xt1rYbjWOWTcj3YLTZhrmZnPowoQDbSRFyZHQ5Q==", "dev": true, "dependencies": { "arg": "^5.0.2", @@ -37029,7 +36845,7 @@ "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.17", + "postcss": "^8.4.18", "postcss-import": "^14.1.0", "postcss-js": "^4.0.0", "postcss-load-config": "^3.1.4", @@ -38786,7 +38602,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, "engines": { "node": ">= 10.0.0" } @@ -40614,7 +40429,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", - "dev": true, "engines": { "node": ">= 14" } @@ -42189,25 +42003,25 @@ } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.188.0.tgz", - "integrity": "sha512-WielYjaAHfT/HAOW7Tj6yVeNdaOtts3aUm9Sf/3D+ElbCTGyaaMNfE4x0a+qn6dJZXewf1eAxybOIU5ftIeSGw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.204.0.tgz", + "integrity": "sha512-ejJntS6usQpKKwisIaK4yYjo8DKEPpk7eJ7fJCw0r4WmIa7xN3amZISP4TrnKa401nWxbfzd40Wh/R5p75JMNQ==", "requires": { - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.202.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-athena": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.202.0.tgz", - "integrity": "sha512-8ZjDCUXgxV2GleUtBAyZsYuDr+VAH0QbChChIli3rfMI0zEE7b/qGyAkhMIL5O0SE9EKpNZuYowN/YSILH3CIQ==", + "version": "3.205.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.205.0.tgz", + "integrity": "sha512-zSxR5TTWVdBciqAeVSBp7zOHRpAN15/+ET0v3h3aylcMz7r8fX8Ld3xuW+M6GOJjEwCTLgMv5yrwEf/s4zUPuQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.202.0", + "@aws-sdk/client-sts": "3.204.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/credential-provider-node": "3.202.0", - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/credential-provider-node": "3.204.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", @@ -42226,6 +42040,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -42242,25 +42057,25 @@ } }, "@aws-sdk/client-s3": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.202.0.tgz", - "integrity": "sha512-Xo1x3EKajHJpWzx0CNHwTjHaVW32b1Gj6WJ8daOSjpEisyx2qdvqJkMAUxDAMaAMIGolOVTDpe5Pijwn4WjiUg==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.204.0.tgz", + "integrity": "sha512-TtaOQ0ArmqV23Ie/FUChMIdAT5ebg5FSSimN3X2SFVmXRt9c9N73X/gLHKqzf30Dgsl7M/w9O6jFtlbvANjBmA==", "requires": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.202.0", + "@aws-sdk/client-sts": "3.204.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/credential-provider-node": "3.202.0", + "@aws-sdk/credential-provider-node": "3.204.0", "@aws-sdk/eventstream-serde-browser": "3.201.0", "@aws-sdk/eventstream-serde-config-resolver": "3.201.0", "@aws-sdk/eventstream-serde-node": "3.201.0", - "@aws-sdk/fetch-http-handler": "3.201.0", - "@aws-sdk/hash-blob-browser": "3.201.0", + "@aws-sdk/fetch-http-handler": "3.204.0", + "@aws-sdk/hash-blob-browser": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/hash-stream-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", - "@aws-sdk/md5-js": "3.201.0", + "@aws-sdk/md5-js": "3.204.0", "@aws-sdk/middleware-bucket-endpoint": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", "@aws-sdk/middleware-endpoint": "3.201.0", @@ -42284,6 +42099,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -42291,7 +42107,7 @@ "@aws-sdk/util-defaults-mode-browser": "3.201.0", "@aws-sdk/util-defaults-mode-node": "3.201.0", "@aws-sdk/util-endpoints": "3.202.0", - "@aws-sdk/util-stream-browser": "3.201.0", + "@aws-sdk/util-stream-browser": "3.204.0", "@aws-sdk/util-stream-node": "3.201.0", "@aws-sdk/util-user-agent-browser": "3.201.0", "@aws-sdk/util-user-agent-node": "3.201.0", @@ -42304,14 +42120,14 @@ } }, "@aws-sdk/client-sso": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.202.0.tgz", - "integrity": "sha512-c0impiZUbJeB5AdyZyER81tsqF9bxxaEz6p2LYkTn62NWVXPWEUo/1CHQRj36MUzorz1xiWKIN0NPgK6GBJkPQ==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.204.0.tgz", + "integrity": "sha512-AECcNrcAQxV/Jlu8ogshRaYwt2jayx0omQJs/SXj70mWxmbk4MQnb+DqJIpPpOKBHaza/xlC2TKS1RzkiuZxyw==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", @@ -42329,6 +42145,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -42344,15 +42161,15 @@ } }, "@aws-sdk/client-sts": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.202.0.tgz", - "integrity": "sha512-WGRFzODig8+cZR903q3fa7OAzGigSuzD9AoK+ybefQa7bxSuhT2ous4GNPOJz9WYWvugEPyrJu8vbG35IoF1ZQ==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.204.0.tgz", + "integrity": "sha512-Tp6FqENRw31XK5r5hul1JXnQgHBhbbXhoMebyFih6/zjpATaqg0bnV6tpww4yPi3uc+yDGXKw2/tDroSsyTsRA==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.201.0", - "@aws-sdk/credential-provider-node": "3.202.0", - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/credential-provider-node": "3.204.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/hash-node": "3.201.0", "@aws-sdk/invalid-dependency": "3.201.0", "@aws-sdk/middleware-content-length": "3.201.0", @@ -42372,6 +42189,7 @@ "@aws-sdk/smithy-client": "3.201.0", "@aws-sdk/types": "3.201.0", "@aws-sdk/url-parser": "3.201.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-base64-browser": "3.188.0", "@aws-sdk/util-base64-node": "3.201.0", "@aws-sdk/util-body-length-browser": "3.188.0", @@ -42422,13 +42240,13 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.202.0.tgz", - "integrity": "sha512-d0kiYMpGzAq3EBXgEJ1SdeoMXVf3lk6NKHDi/Gy8LB03sZqgc5cY4XFCnY3cqE3DNWWZNR26M4j/KiA0LIjAVA==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.204.0.tgz", + "integrity": "sha512-ddtaS0ya5lgZZwfuJ/FuniroreLJ6yDgPAasol/rla9U5EU0qUEK1+6PX463exghUGjYfTqxdrKXhGYZfuEoIw==", "requires": { "@aws-sdk/credential-provider-env": "3.201.0", "@aws-sdk/credential-provider-imds": "3.201.0", - "@aws-sdk/credential-provider-sso": "3.202.0", + "@aws-sdk/credential-provider-sso": "3.204.0", "@aws-sdk/credential-provider-web-identity": "3.201.0", "@aws-sdk/property-provider": "3.201.0", "@aws-sdk/shared-ini-file-loader": "3.201.0", @@ -42437,15 +42255,15 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.202.0.tgz", - "integrity": "sha512-/uHNs3c1O3oFpH7z9nnpjyg8NKNyRbNxUDIHkuHkNSUUKXpfBisDX6TMbD4VcflGuNdkbT+8spkw5vsE8ox3ig==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.204.0.tgz", + "integrity": "sha512-kGbR5JE90zBGDS4cIz7tlUklMMeOm5oc5ES74YStLUacpQKwzVcHmDG8aT2DCONS/wEYysOIs5LygHurOJ/+Ww==", "requires": { "@aws-sdk/credential-provider-env": "3.201.0", "@aws-sdk/credential-provider-imds": "3.201.0", - "@aws-sdk/credential-provider-ini": "3.202.0", + "@aws-sdk/credential-provider-ini": "3.204.0", "@aws-sdk/credential-provider-process": "3.201.0", - "@aws-sdk/credential-provider-sso": "3.202.0", + "@aws-sdk/credential-provider-sso": "3.204.0", "@aws-sdk/credential-provider-web-identity": "3.201.0", "@aws-sdk/property-provider": "3.201.0", "@aws-sdk/shared-ini-file-loader": "3.201.0", @@ -42465,11 +42283,11 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.202.0.tgz", - "integrity": "sha512-EBUY/qKboJwy3qxPHiD/LAnhzga4xR1p++QMoxg2BKgkgwlvGb23lYGr5DSCNhdtJj5o165YZDbGYH+PKn2NVw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.204.0.tgz", + "integrity": "sha512-iS884Gda99x4zmdCK3XxFcceve4wB+wudpeTUm2wwX9AGrSzoUnLWqNXv/R8UAMAsKANaWMBkqv/bsHpsEitZw==", "requires": { - "@aws-sdk/client-sso": "3.202.0", + "@aws-sdk/client-sso": "3.204.0", "@aws-sdk/property-provider": "3.201.0", "@aws-sdk/shared-ini-file-loader": "3.201.0", "@aws-sdk/types": "3.201.0", @@ -42537,24 +42355,24 @@ } }, "@aws-sdk/fetch-http-handler": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.201.0.tgz", - "integrity": "sha512-uiEoH79j6WOpbp4THcpvD9XmD+vPgy+00oyYXjtZqJnv2PM/9b6tGWKTdI+TJW4P/oPv7HP7JmRlkGaTnkIdXw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.204.0.tgz", + "integrity": "sha512-TfIhWYQ4CTjrD+FSuBcKMSVrqq8GCwqCfUyalWmSKo4JIFhN5OxUnOFb1/ecE/TJX+YgZ65w4qhVJVHHmh229Q==", "requires": { "@aws-sdk/protocol-http": "3.201.0", "@aws-sdk/querystring-builder": "3.201.0", "@aws-sdk/types": "3.201.0", - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.202.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-blob-browser": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.201.0.tgz", - "integrity": "sha512-nlmIwoRoCkMveFCbELpysuNtGc5wEdVZLKJGbpgGh4H6JUPtpRKSY5oNBIM8xLtCqPTTmd0l9xPLkITZnFO2cw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.204.0.tgz", + "integrity": "sha512-Et0Nic7jnrYtqQt97JMPGkKJ3CFaulW70vFElDypV+TURsuxelweANQfrHsurk+xvHLHakMG5glAVHgyONtXZg==", "requires": { "@aws-sdk/chunked-blob-reader": "3.188.0", - "@aws-sdk/chunked-blob-reader-native": "3.188.0", + "@aws-sdk/chunked-blob-reader-native": "3.204.0", "@aws-sdk/types": "3.201.0", "tslib": "^2.3.1" } @@ -42596,9 +42414,9 @@ } }, "@aws-sdk/lib-storage": { - "version": "3.202.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.202.0.tgz", - "integrity": "sha512-gG+roCAwba3VrnkXsX0s6sC0asEhs5MuXyiRD03XilQ+dOYc0ewU2iRQzgtNZnnIJx9A6eTrpoIkNOVyOYqOlw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.204.0.tgz", + "integrity": "sha512-U+N/AG4EkGnlW4asWqiXY3aLMUwuTEaKS0RXetBncXId1rkkSczj0X1XeewiSHQLeSll+bvvYsn3wbgsfj53tA==", "requires": { "@aws-sdk/middleware-endpoint": "3.201.0", "@aws-sdk/smithy-client": "3.201.0", @@ -42609,9 +42427,9 @@ } }, "@aws-sdk/md5-js": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.201.0.tgz", - "integrity": "sha512-dhbBzS3GPcz1uOfhQG6g+XDKpCa45p5myRWUiJsyiUJ8xsrDAQLzF70aCA3KzTrkLOszQdovZ9mtKcJ9rbjkrw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.204.0.tgz", + "integrity": "sha512-RXiCvi58Xl2ja9bmd5iFVZyzhGVzBdlLC7uu8Ug9IbF++6muBJ2WdjMkhoMsi5GXqs6238rX3rRt3dLVGKEIqA==", "requires": { "@aws-sdk/types": "3.201.0", "@aws-sdk/util-utf8-browser": "3.188.0", @@ -42936,6 +42754,15 @@ "tslib": "^2.3.1" } }, + "@aws-sdk/util-base64": { + "version": "3.202.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.202.0.tgz", + "integrity": "sha512-0QlvxCSU2CITeR/x87zls9ma+CkN3EXRGM3M5XnHWaneDI9K+O2uPpAbDfLh0SBJyO0AfIMn7Vh/BvnNNPEDpg==", + "requires": { + "@aws-sdk/util-buffer-from": "3.201.0", + "tslib": "^2.3.1" + } + }, "@aws-sdk/util-base64-browser": { "version": "3.188.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", @@ -43044,13 +42871,13 @@ } }, "@aws-sdk/util-stream-browser": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.201.0.tgz", - "integrity": "sha512-auCnohsG9inCcpZYk+oNst3oQIHy0lXIz/B/upAzx7IBiY2qtQLk4up3u+I38BRHvcfiSY2ly71OJbBrD/fQbw==", + "version": "3.204.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.204.0.tgz", + "integrity": "sha512-LH+Th/Oww6icUvqVbL5Y+R4mUGUuwLRWpiOJnK8/Ufyw7JMEvHZOGXPIAtXmEB1t+0gTVVDCP0Z0y6ItINlGtA==", "requires": { - "@aws-sdk/fetch-http-handler": "3.201.0", + "@aws-sdk/fetch-http-handler": "3.204.0", "@aws-sdk/types": "3.201.0", - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.202.0", "@aws-sdk/util-hex-encoding": "3.201.0", "@aws-sdk/util-utf8-browser": "3.188.0", "tslib": "^2.3.1" @@ -43144,20 +42971,20 @@ "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" }, "@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", + "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", + "@babel/generator": "^7.20.2", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.1", + "@babel/parser": "^7.20.2", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -43173,11 +43000,11 @@ } }, "@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.3.tgz", + "integrity": "sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A==", "requires": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.20.2", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -43221,16 +43048,16 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", + "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6" } }, @@ -43293,18 +43120,18 @@ } }, "@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" } }, "@babel/helper-optimise-call-expression": { @@ -43316,9 +43143,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" }, "@babel/helper-replace-supers": { "version": "7.19.1", @@ -43333,11 +43160,11 @@ } }, "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "requires": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" } }, "@babel/helper-split-export-declaration": { @@ -43435,9 +43262,9 @@ } }, "@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==" + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", + "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" }, "@babel/plugin-proposal-class-properties": { "version": "7.18.6", @@ -43628,9 +43455,9 @@ } }, "@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", + "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", "requires": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -44683,7 +44510,6 @@ "tailwindcss": "^3.2.0", "typescript": "^4.5.4", "vite": "^2.9.9", - "vite-plugin-pages": "^0.23.0", "vue": "^3.2.25", "vue-router": "^4.0.15", "vue-tsc": "^0.34.7" @@ -47105,16 +46931,6 @@ "@scure/base": "~1.1.0" } }, - "@selderee/plugin-htmlparser2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz", - "integrity": "sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==", - "dev": true, - "requires": { - "domhandler": "^4.2.0", - "selderee": "^0.6.0" - } - }, "@sentry/core": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", @@ -47249,9 +47065,9 @@ "dev": true }, "@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", + "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -47519,9 +47335,9 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -47587,9 +47403,9 @@ } }, "@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "@types/connect": { @@ -47755,9 +47571,9 @@ } }, "@types/lodash": { - "version": "4.14.187", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.187.tgz", - "integrity": "sha512-MrO/xLXCaUgZy3y96C/iOsaIqZSeupyTImKClHunL5GrmaiII2VwvWmLBu2hwa0Kp0sV19CsyjtrTc/Fx8rg/A==" + "version": "4.14.188", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.188.tgz", + "integrity": "sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==" }, "@types/long": { "version": "3.0.32", @@ -47915,9 +47731,9 @@ } }, "@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz", + "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==", "dev": true, "requires": { "@types/chai": "*", @@ -48003,14 +47819,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz", - "integrity": "sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz", + "integrity": "sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/type-utils": "5.42.0", - "@typescript-eslint/utils": "5.42.0", + "@typescript-eslint/scope-manager": "5.42.1", + "@typescript-eslint/type-utils": "5.42.1", + "@typescript-eslint/utils": "5.42.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -48083,53 +47899,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz", - "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.1.tgz", + "integrity": "sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "5.42.1", + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/typescript-estree": "5.42.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz", - "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz", + "integrity": "sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0" + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/visitor-keys": "5.42.1" } }, "@typescript-eslint/type-utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz", - "integrity": "sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz", + "integrity": "sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.42.0", - "@typescript-eslint/utils": "5.42.0", + "@typescript-eslint/typescript-estree": "5.42.1", + "@typescript-eslint/utils": "5.42.1", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz", - "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.1.tgz", + "integrity": "sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz", - "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz", + "integrity": "sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0", + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/visitor-keys": "5.42.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -48138,28 +47954,28 @@ } }, "@typescript-eslint/utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.0.tgz", - "integrity": "sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.1.tgz", + "integrity": "sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "5.42.1", + "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/typescript-estree": "5.42.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz", - "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==", + "version": "5.42.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz", + "integrity": "sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.0", + "@typescript-eslint/types": "5.42.1", "eslint-visitor-keys": "^3.3.0" } }, @@ -48839,15 +48655,15 @@ "dev": true }, "array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "is-string": "^1.0.7" } }, @@ -48996,8 +48812,7 @@ "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "atob": { "version": "2.1.2", @@ -49963,9 +49778,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==" + "version": "1.0.30001431", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", + "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" }, "capture-exit": { "version": "2.0.0", @@ -50008,14 +49823,14 @@ "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" }, "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -50640,9 +50455,9 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "constructs": { - "version": "10.1.149", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.149.tgz", - "integrity": "sha512-0YG2CbiMt2O/B4QFNMXthjN2E2mmdDpE4ROx9v2RX8uxG3HktoF+cZqqwCkJKPaCzHPS/MyDVPW1LLsmwbYvAw==" + "version": "10.1.153", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.153.tgz", + "integrity": "sha512-FWgBuYWlBlzZWO3uXNBWrA9YuRzG7CkDWcte/BWAQ9zO1wFq71YfgfOYq3PV3J5WtbyJ6jkzRQa877/XXyq/fg==" }, "content-disposition": { "version": "0.5.4", @@ -51759,9 +51574,9 @@ "dev": true }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz", + "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==", "dev": true, "requires": { "type-detect": "^4.0.0" @@ -51968,12 +51783,6 @@ "path-type": "^4.0.0" } }, - "discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==", - "dev": true - }, "dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", @@ -51989,28 +51798,11 @@ "esutils": "^2.0.2" } }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, "dom-walk": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, "domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", @@ -52028,26 +51820,6 @@ } } }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -52185,12 +51957,6 @@ "ansi-colors": "^4.1.1" } }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -52545,9 +52311,9 @@ } }, "eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", + "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.3", @@ -52896,9 +52662,9 @@ } }, "espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -54163,7 +53929,6 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -63761,32 +63526,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "html-to-text": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.1.tgz", - "integrity": "sha512-aN/3JvAk8qFsWVeE9InWAWueLXrbkoVZy0TkzaGhoRBC2gCFEeRLDDJN3/ijIGHohy6H+SZzUQWN/hcYtaPK8w==", - "dev": true, - "requires": { - "@selderee/plugin-htmlparser2": "^0.6.0", - "deepmerge": "^4.2.2", - "he": "^1.2.0", - "htmlparser2": "^6.1.0", - "minimist": "^1.2.6", - "selderee": "^0.6.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", @@ -63866,9 +63605,9 @@ "dev": true }, "husky": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", - "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz", + "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==", "dev": true }, "iconoir": { @@ -63902,8 +63641,7 @@ "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, "immediate": { "version": "3.3.0", @@ -66090,7 +65828,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -66869,9 +66606,9 @@ } }, "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "requires": { "get-func-name": "^2.0.0" @@ -67463,12 +67200,6 @@ "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==" }, - "moo": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", - "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -67538,18 +67269,6 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, - "nearley": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", - "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "moo": "^0.5.0", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6" - } - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -67874,35 +67593,35 @@ } }, "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "requires": { "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "object.pick": { @@ -67915,14 +67634,14 @@ } }, "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, "obliterator": { @@ -68364,16 +68083,6 @@ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "parseley": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz", - "integrity": "sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==", - "dev": true, - "requires": { - "moo": "^0.5.1", - "nearley": "^2.20.1" - } - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -69264,22 +68973,6 @@ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true }, - "railroad-diagrams": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==", - "dev": true - }, - "randexp": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", - "dev": true, - "requires": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - } - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -70279,9 +69972,9 @@ }, "dependencies": { "ws": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.10.0.tgz", - "integrity": "sha512-+s49uSmZpvtAsd2h37vIPy1RBusaLawVe8of+GyEPsaJTCMpj/2v8NpeK1SHXjBlQ95lQTmQofOJnFiLoaN3yw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "requires": {} } } @@ -70668,15 +70361,6 @@ "node-gyp-build": "^4.2.0" } }, - "selderee": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz", - "integrity": "sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==", - "dev": true, - "requires": { - "parseley": "^0.7.0" - } - }, "semaphore": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", @@ -71362,9 +71046,9 @@ } }, "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -71572,41 +71256,41 @@ } }, "string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", + "regexp.prototype.flags": "^1.4.3", "side-channel": "^1.0.4" } }, "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "strip-ansi": { @@ -71791,9 +71475,9 @@ } }, "tailwindcss": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz", - "integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.2.tgz", + "integrity": "sha512-c2GtSdqg+harR4QeoTmex0Ngfg8IIHNeLQH5yr2B9uZbZR1Xt1rYbjWOWTcj3YLTZhrmZnPowoQDbSRFyZHQ5Q==", "dev": true, "requires": { "arg": "^5.0.2", @@ -71810,7 +71494,7 @@ "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.17", + "postcss": "^8.4.18", "postcss-import": "^14.1.0", "postcss-js": "^4.0.0", "postcss-load-config": "^3.1.4", @@ -73108,8 +72792,7 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "unpipe": { "version": "1.0.0", @@ -74454,8 +74137,7 @@ "yaml": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", - "dev": true + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==" }, "yargs": { "version": "15.4.1", diff --git a/package.json b/package.json index 6abf743a5..4d15b1e3c 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "eslint-plugin-vue": "^8.7.1", "esno": "^0.16.3", "express": "^4.18.1", - "html-to-text": "^8.2.0", "http-proxy-middleware": "^2.0.6", "husky": "^8.0.1", "lint-staged": "^13.0.0", diff --git a/services/crawler/.gitignore b/services/crawler/.gitignore index 09ec32f7c..2039a23f8 100644 --- a/services/crawler/.gitignore +++ b/services/crawler/.gitignore @@ -1,3 +1,4 @@ node_modules _output .idea +dist diff --git a/services/crawler/dist/index.js b/services/crawler/dist/index.js deleted file mode 100644 index c2a7e2784..000000000 --- a/services/crawler/dist/index.js +++ /dev/null @@ -1,224 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var src_exports = {}; -__export(src_exports, { - Chain: () => Chain, - Event: () => Event, - Network: () => Network, - Provider: () => Provider, - crawler: () => crawler, - eventOutputBucket: () => eventOutputBucket -}); -module.exports = __toCommonJS(src_exports); -var import_Iotex = require("./providers/Iotex"); -var import_Ethereum = require("./providers/Ethereum"); -var import_helpers = require("@casimir/helpers"); -var import_child_process = require("child_process"); -var Chain = /* @__PURE__ */ ((Chain2) => { - Chain2["Ethereum"] = "ethereum"; - Chain2["Iotex"] = "iotex"; - return Chain2; -})(Chain || {}); -var Event = /* @__PURE__ */ ((Event2) => { - Event2["Block"] = "block"; - Event2["Transaction"] = "transaction"; - Event2["Deposit"] = "deposit"; - return Event2; -})(Event || {}); -var Provider = /* @__PURE__ */ ((Provider2) => { - Provider2["Alchemy"] = "alchemy"; - return Provider2; -})(Provider || {}); -var Network = /* @__PURE__ */ ((Network2) => { - Network2["Mainnet"] = "mainnet"; - Network2["Testnet"] = "testnet"; - return Network2; -})(Network || {}); -const eventOutputBucket = "casimir-etl-event-bucket-dev"; -class Crawler { - options; - service; - _start; - last; - head; - signal; - constructor(opt) { - this.options = opt; - this.service = null; - this.last = 0; - this.head = 0; - this._start = 0; - this.signal = new AbortController(); - } - verbose(msg) { - if (this.options.verbose) { - console.log(msg); - } - } - async setup() { - this.verbose(`chain: ${this.options.chain}`); - this.verbose(`network: ${this.options.network}`); - this.verbose(`provider: ${this.options.provider}`); - if (this.options.chain === "ethereum" /* Ethereum */) { - const service = new import_Ethereum.EthereumService({ url: this.options.serviceOptions?.url || process.env.PUBLIC_ETHEREUM_RPC || "http://localhost:8545" }); - this.service = service; - const lastEvent = await this.getLastProcessedEvent(); - const last = lastEvent ? parseInt(lastEvent.height.toString()) : 0; - const current = await this.service.getCurrentBlock(); - this._start = last === 0 ? 0 : this.last + 1; - this.last = last; - this.head = current.number; - return; - } - if (this.options.chain === "iotex" /* Iotex */) { - this.service = new import_Iotex.IotexService({ url: this.options.serviceOptions?.url || "https://api.iotex.one:443", network: import_Iotex.IotexNetworkType.Mainnet }); - const lastEvent = await this.getLastProcessedEvent(); - const currentBlock = await this.service.getCurrentBlock(); - const currentHeight = currentBlock.blkMetas[0].height; - const last = lastEvent !== null ? lastEvent.height : 0; - this._start = last === 0 ? 0 : this.last + 1; - this.head = currentHeight; - this.last = last; - return; - } - throw new Error("Unsupported chain"); - } - async stream() { - if (this.service instanceof import_Ethereum.EthereumService) { - this.verbose("streaming etheruem blocks"); - this.service.provider.on("block", async (b) => { - if (this.service instanceof import_Ethereum.EthereumService) { - const block = await this.service.getBlock(b); - const event = this.service.toEvent(block); - this.verbose(`block: ${b}`); - const ndjson = JSON.stringify(event); - if (process.env.UPLOAD) { - } - this.verbose(ndjson); - } - }); - this.service.provider.on("error", (err) => { - throw new Error(err.message); - }); - return; - } - throw new Error("Unsupported chain"); - } - async processIPC(msg) { - const error = msg?.payload?.error; - if (error) { - console.log(error); - } - if (msg.action === "stop") { - console.log("stopping"); - this.signal.abort(); - } - } - async start() { - if (this.options.stream) { - const signal = new AbortController(); - const child = (0, import_child_process.fork)("./src/stream.ts", [], { signal: signal.signal }); - child.on("message", this.processIPC); - child.on("exit", (code) => { - console.log(`child process exited with code ${code}`); - }); - const cmd = { - action: "start", - options: this.options, - service: this.service, - payload: { - start: this._start, - last: this.last, - head: this.head - } - }; - child.send(cmd); - } - this.verbose(`crawling from ${this._start} - ${this.head}`); - if (this.service instanceof import_Ethereum.EthereumService) { - for (let i = this._start; i <= this.head; i++) { - const { block, events } = await this.service.getEvents(i); - const ndjson = events.map((e) => JSON.stringify(e)).join("\n"); - this.verbose(ndjson); - } - return; - } - if (this.service instanceof import_Iotex.IotexService) { - for (let i = this._start; i < this.head; i++) { - const { hash, events } = await this.service.getEvents(i); - const ndjson = events.map((e) => JSON.stringify(e)).join("\n"); - if (process.env.UPLOAD) { - } - this.verbose(ndjson); - } - return; - } - throw new Error("Unsupported chain"); - } - async getLastProcessedEvent() { - if (this.options.chain === void 0) { - throw new Error("chain is undefined"); - } - const event = await (0, import_helpers.queryAthena)(`SELECT * FROM "casimir_etl_database_dev"."casimir_etl_event_table_dev" where chain = '${this.options.chain}' ORDER BY height DESC limit 1`); - if (event === null) - return null; - this.verbose(`last processed block: ${JSON.stringify(parseInt(event[0].height.toString()), null, 2)}`); - return event[0]; - } -} -async function crawler(config) { - const crawler2 = new Crawler({ - chain: config.chain, - network: config.network, - provider: config.provider, - serviceOptions: config.serviceOptions, - output: config?.output ?? `s3://${eventOutputBucket}`, - verbose: config?.verbose ?? false, - stream: config?.stream ?? false - }); - await crawler2.setup(); - return crawler2; -} -if (process.argv[0].endsWith("ts-node")) { - runInDev().catch((err) => { - console.error(err); - process.exit(1); - }); -} -async function runInDev() { - const config = { - chain: "ethereum" /* Ethereum */, - network: "mainnet" /* Mainnet */, - provider: "alchemy" /* Alchemy */, - output: `s3://${eventOutputBucket}`, - verbose: true, - stream: true - }; - const cc = await crawler(config); - await cc.start(); -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - Chain, - Event, - Network, - Provider, - crawler, - eventOutputBucket -}); diff --git a/services/crawler/dist/providers/Ethereum.js b/services/crawler/dist/providers/Ethereum.js deleted file mode 100644 index 9150826a6..000000000 --- a/services/crawler/dist/providers/Ethereum.js +++ /dev/null @@ -1,162 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var Ethereum_exports = {}; -__export(Ethereum_exports, { - EthereumService: () => EthereumService -}); -module.exports = __toCommonJS(Ethereum_exports); -var import_ethers = require("ethers"); -var import__ = require("../index"); -const ContractsOfInterest = { - BeaconDepositContract: { - hash: "0x00000000219ab540356cBB839Cbe05303d7705Fa", - abi: ["event DepositEvent (bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)"] - } -}; -class EthereumService { - chain; - network; - provider; - contractsOfInterest; - constructor(opt) { - this.chain = import__.Chain.Ethereum; - this.network = opt.network || "mainnet"; - this.provider = new import_ethers.ethers.providers.JsonRpcProvider({ - url: opt.url - }); - this.contractsOfInterest = ContractsOfInterest; - } - parseLog(log) { - const abi = ContractsOfInterest.BeaconDepositContract.abi; - const contractInterface = new import_ethers.ethers.utils.Interface(abi); - const parsedLog = contractInterface.parseLog(log); - const args = parsedLog.args.slice(-1 * parsedLog.eventFragment.inputs.length); - const output = {}; - parsedLog.eventFragment.inputs.forEach((key, index) => { - output[key.name] = args[index]; - }); - return output; - } - async getBlock(s) { - const block = await this.provider.getBlock(s); - return block; - } - toEvent(b) { - const event = { - chain: this.chain, - network: this.network, - provider: import__.Provider.Alchemy, - type: import__.Event.Block, - height: b.number, - block: b.hash, - created_at: new Date(b.timestamp * 1e3).toISOString().replace("T", " ").replace("Z", ""), - address: b.miner, - gasUsed: b.gasUsed.toString(), - gasLimit: b.gasLimit.toString() - }; - return event; - } - async getEvents(height) { - const events = []; - const block = await this.provider.getBlockWithTransactions(height); - const blockEvent = { - chain: this.chain, - network: this.network, - provider: import__.Provider.Alchemy, - type: import__.Event.Block, - height: block.number, - block: block.hash, - created_at: new Date(block.timestamp * 1e3).toISOString().replace("T", " ").replace("Z", ""), - address: block.miner, - gasUsed: block.gasUsed.toString(), - gasLimit: block.gasLimit.toString() - }; - if (block.baseFeePerGas) { - blockEvent.baseFee = import_ethers.ethers.BigNumber.from(block.baseFeePerGas).toString(); - const burntFee = import_ethers.ethers.BigNumber.from(block.gasUsed).mul(import_ethers.ethers.BigNumber.from(block.baseFeePerGas)); - blockEvent.burntFee = burntFee.toString(); - } - events.push(blockEvent); - if (block.transactions.length === 0) { - return { - block: block.hash, - events - }; - } - for await (const tx of block.transactions) { - const txEvent = { - chain: this.chain, - network: this.network, - provider: import__.Provider.Alchemy, - type: import__.Event.Transaction, - height: block.number, - block: block.hash, - transaction: tx.hash, - address: tx.from, - created_at: new Date(block.timestamp * 1e3).toISOString().replace("T", " ").replace("Z", ""), - amount: import_ethers.ethers.utils.formatEther(tx.value.toString()), - gasUsed: block.gasUsed.toString() - }; - if (tx.to) { - txEvent.to_address = tx.to; - } - if (tx.gasLimit) { - txEvent.gasLimit = tx.gasLimit.toString(); - } - events.push(txEvent); - const receipts = await this.provider.getTransactionReceipt(tx.hash); - if (receipts.logs.length === 0) { - continue; - } - for (const log of receipts.logs) { - if (log.address === ContractsOfInterest.BeaconDepositContract.hash) { - const parsedLog = this.parseLog(log); - const deposit = { - chain: this.chain, - network: this.network, - provider: import__.Provider.Alchemy, - type: import__.Event.Deposit, - block: block.hash, - transaction: log.transactionHash, - address: log.address, - height: block.number, - amount: parsedLog.amount, - gasLimit: block.gasLimit.toString() - }; - if (tx.to) { - deposit.to_address = tx.to; - } - events.push(deposit); - } - } - } - return { - block: block.hash, - events - }; - } - async getCurrentBlock() { - const height = await this.provider.getBlockNumber(); - return await this.provider.getBlock(height); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - EthereumService -}); diff --git a/services/crawler/dist/providers/Iotex.js b/services/crawler/dist/providers/Iotex.js deleted file mode 100644 index cc11bc08d..000000000 --- a/services/crawler/dist/providers/Iotex.js +++ /dev/null @@ -1,236 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var Iotex_exports = {}; -__export(Iotex_exports, { - IotexActionType: () => IotexActionType, - IotexNetworkType: () => IotexNetworkType, - IotexService: () => IotexService -}); -module.exports = __toCommonJS(Iotex_exports); -var import_iotex_antenna = __toESM(require("iotex-antenna")); -var import__ = require("../index"); -var IotexNetworkType = /* @__PURE__ */ ((IotexNetworkType2) => { - IotexNetworkType2["Mainnet"] = "mainnet"; - IotexNetworkType2["Testnet"] = "testnet"; - return IotexNetworkType2; -})(IotexNetworkType || {}); -var IotexActionType = /* @__PURE__ */ ((IotexActionType2) => { - IotexActionType2["grantReward"] = "grantReward"; - IotexActionType2["claimFromRewardingFund"] = "claimFromRewardingFund"; - IotexActionType2["depositToRewardingFund"] = "depositToRewardingFund"; - IotexActionType2["candidateRegister"] = "candidateRegister"; - IotexActionType2["candidateUpdate"] = "candidateUpdate"; - IotexActionType2["stakeCreate"] = "stakeCreate"; - IotexActionType2["stakeRestake"] = "stakeRestake"; - IotexActionType2["stakeAddDeposit"] = "stakeAddDeposit"; - IotexActionType2["transfer"] = "transfer"; - IotexActionType2["stakeUnstake"] = "stakeUnstake"; - IotexActionType2["stakeWithdraw"] = "stakeWithdraw"; - IotexActionType2["execution"] = "execution"; - IotexActionType2["putPollResult"] = "putPollResult"; - IotexActionType2["StakeChangeCandidate"] = "stakeChangeCandidate"; - return IotexActionType2; -})(IotexActionType || {}); -class IotexService { - chain; - network; - provider; - chainId; - constructor(opt) { - this.chain = import__.Chain.Iotex; - this.network = opt.network || "mainnet" /* Mainnet */; - this.chainId = "mainnet" /* Mainnet */ ? 4689 : 4690; - this.provider = new import_iotex_antenna.default(opt.url, this.chainId, { - signer: opt.signer, - timeout: opt.timeout, - apiToken: opt.apiToken - }); - } - deduceActionType(action) { - const core = action.action.core; - if (core === void 0) - return null; - const type = Object.keys(core).filter((k) => k !== void 0)[Object.keys(core).length - 2]; - return type; - } - async getBlocks(start, count) { - if (start < 0 || count < 0) { - throw new Error("start and count must be greater than 0"); - } - if (start === 0) { - start = 1; - } - if (count === 0) { - count = 100; - } - const blocks = await this.provider.iotx.getBlockMetas({ byIndex: { start, count } }); - return blocks; - } - async getBlockActions(index, count) { - const actions = await this.provider.iotx.getActions({ - byIndex: { - start: index, - count - } - }); - return actions.actionInfo; - } - async getCurrentBlock() { - const { chainMeta } = await this.provider.iotx.getChainMeta({ - includePendingActions: false - }); - const block = await this.provider.iotx.getBlockMetas({ byIndex: { start: parseInt(chainMeta.height), count: 1 } }); - return block; - } - async readableBlockStream() { - const stream = await this.provider.iotx.streamBlocks({ - start: 1 - }); - return stream; - } - on(event, callback) { - this.provider.iotx.streamBlocks({ - start: 1 - }).on("data", (data) => { - callback(data); - }); - } - async getEvents(height) { - const events = []; - const block = await this.provider.iotx.getBlockMetas({ byIndex: { start: height, count: 1 } }); - const blockMeta = block.blkMetas[0]; - const blockEvent = { - block: blockMeta.hash, - chain: this.chain, - network: this.network, - provider: import__.Provider.Alchemy, - type: import__.Event.Block, - created_at: new Date(block.blkMetas[0].timestamp.seconds * 1e3).toISOString().replace("T", " ").replace("Z", ""), - address: blockMeta.producerAddress, - height: blockMeta.height, - to_address: "", - validator: "", - duration: 0, - validator_list: [], - amount: 0, - auto_stake: false - }; - const numOfActions = block.blkMetas[0].numActions; - if (numOfActions > 0) { - const actions = await this.getBlockActions(height, numOfActions); - const blockActions = actions.map((action) => { - const actionCore = action.action.core; - if (actionCore === void 0) - return; - const actionType = this.deduceActionType(action); - if (actionType === null) - return; - const actionEvent = { - chain: this.chain, - network: this.network, - provider: import__.Provider.Alchemy, - type: actionType, - created_at: new Date(action.timestamp.seconds * 1e3).toISOString().replace("T", " ").replace("Z", ""), - address: blockMeta.producerAddress, - height: blockMeta.height, - to_address: "", - validator: "", - duration: 0, - validator_list: [], - amount: "0", - auto_stake: false - }; - if (actionType === "transfer" /* transfer */ && actionCore.transfer) { - actionEvent.amount = parseInt(actionCore.transfer.amount).toString(); - actionEvent.to_address = actionCore.transfer.recipient; - events.push(actionEvent); - } - if (actionType === "stakeCreate" /* stakeCreate */ && actionCore.stakeCreate) { - actionEvent.amount = actionCore.stakeCreate.stakedAmount; - actionEvent.validator = actionCore.stakeCreate.candidateName; - actionEvent.auto_stake = actionCore.stakeCreate.autoStake; - actionEvent.duration = actionCore.stakeCreate.stakedDuration; - events.push(actionEvent); - } - if (actionType === "stakeAddDeposit" /* stakeAddDeposit */ && actionCore.stakeAddDeposit) { - actionEvent.amount = actionCore.stakeAddDeposit.amount; - events.push(actionEvent); - } - if (actionType === "execution" /* execution */ && actionCore.execution) { - actionEvent.amount = actionCore.execution.amount; - events.push(actionEvent); - } - if (actionType === "putPollResult" /* putPollResult */ && actionCore.putPollResult) { - if (actionCore.putPollResult.candidates) { - actionEvent.validator_list = actionCore.putPollResult.candidates.candidates.map((c) => c.address); - } - if (actionCore.putPollResult.height) { - actionEvent.height = typeof actionCore.putPollResult.height === "string" ? parseInt(actionCore.putPollResult.height) : actionCore.putPollResult.height; - } - events.push(actionEvent); - } - if (actionType === "stakeChangeCandidate" /* StakeChangeCandidate */ && actionCore.stakeChangeCandidate) { - actionEvent.validator = actionCore.stakeChangeCandidate.candidateName; - events.push(actionEvent); - } - if (actionType === "stakeRestake" /* stakeRestake */ && actionCore.stakeRestake) { - actionEvent.duration = actionCore.stakeRestake.stakedDuration; - actionEvent.auto_stake = actionCore.stakeRestake.autoStake; - events.push(actionEvent); - } - if (actionType === "candidateRegister" /* candidateRegister */ && actionCore.candidateRegister) { - actionEvent.amount = actionCore.candidateRegister.stakedAmount; - actionEvent.duration = actionCore.candidateRegister.stakedDuration; - actionEvent.auto_stake = actionCore.candidateRegister.autoStake; - actionEvent.validator = actionCore.candidateRegister.candidate.name; - events.push(actionEvent); - } - if (actionType === "candidateUpdate" /* candidateUpdate */ && actionCore.candidateUpdate) { - actionEvent.validator = actionCore.candidateUpdate.name; - events.push(actionEvent); - } - if (actionType === "claimFromRewardingFund" /* claimFromRewardingFund */ && actionCore.claimFromRewardingFund) { - actionEvent.amount = actionCore.claimFromRewardingFund.amount; - } - if (actionType === "depositToRewardingFund" /* depositToRewardingFund */ && actionCore.depositToRewardingFund) { - actionEvent.amount = actionCore.depositToRewardingFund.amount; - events.push(actionEvent); - } - return actionEvent; - }); - events.push(...blockActions); - } - return { - hash: blockMeta.hash, - events - }; - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - IotexActionType, - IotexNetworkType, - IotexService -}); diff --git a/services/crawler/dist/stream.js b/services/crawler/dist/stream.js deleted file mode 100644 index 9f15a18da..000000000 --- a/services/crawler/dist/stream.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -async function processIPC(msg) { - switch (msg.action) { - case "start": - await stream(msg); - break; - case "stop": - console.log("stop"); - break; - default: - console.log("default"); - } -} -async function stream(msg) { - const error = msg?.payload?.error; - if (error) { - console.log(error); - } - const opt = msg.options; - if (opt.chain === "ethereum") { - console.log("ethereum"); - } - setTimeout(() => { - console.log("done"); - }, 1e4); - if (process.send) { - process.send({ action: "stop" }); - } -} -process.on("message", processIPC); -process.on("uncaughtException", (err) => { - if (process.send) { - process.send({ - action: "error", - payload: { - error: err.message - } - }); - } -});