From 34518fca5a2de646e216c2f8ee45f193ecfbca66 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Thu, 3 Mar 2022 18:21:43 +0800 Subject: [PATCH 01/44] merge main --- dist/payment/refund/create-refund.d.ts | 6 ++++++ dist/payment/refund/index.d.ts | 1 + src/payment/refund/create-refund.ts | 13 +++++++++++++ src/payment/refund/index.ts | 1 + 4 files changed, 21 insertions(+) create mode 100644 dist/payment/refund/create-refund.d.ts create mode 100644 dist/payment/refund/index.d.ts create mode 100644 src/payment/refund/create-refund.ts create mode 100644 src/payment/refund/index.ts diff --git a/dist/payment/refund/create-refund.d.ts b/dist/payment/refund/create-refund.d.ts new file mode 100644 index 0000000..81267ef --- /dev/null +++ b/dist/payment/refund/create-refund.d.ts @@ -0,0 +1,6 @@ +/** + * @module createPaymentRefund + * + * + */ +export declare const createPaymentRefund: () => Promise; diff --git a/dist/payment/refund/index.d.ts b/dist/payment/refund/index.d.ts new file mode 100644 index 0000000..e94c820 --- /dev/null +++ b/dist/payment/refund/index.d.ts @@ -0,0 +1 @@ +export * from "./create-refund"; diff --git a/src/payment/refund/create-refund.ts b/src/payment/refund/create-refund.ts new file mode 100644 index 0000000..6b1fac8 --- /dev/null +++ b/src/payment/refund/create-refund.ts @@ -0,0 +1,13 @@ +/** + * @module createPaymentRefund + * + * + */ +export const createPaymentRefund = async () => { + try { + throw new Error("TODO: createPaymentRefund"); + } catch (err) { + const error: any = err; + throw error.response.data; + } +}; diff --git a/src/payment/refund/index.ts b/src/payment/refund/index.ts new file mode 100644 index 0000000..e94c820 --- /dev/null +++ b/src/payment/refund/index.ts @@ -0,0 +1 @@ +export * from "./create-refund"; From 036c4d08db0b0741d02b58455527c13c5792b04c Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 19:09:10 +0800 Subject: [PATCH 02/44] chore: migrate to yarn --- .eslintignore | 11 - .github/workflows/main.yml | 6 +- .gitignore | 1 + .husky/.gitignore | 1 - .husky/pre-commit | 4 - .npmignore | 4 + .prettierignore | 10 - dist/config.d.ts | 4 - dist/index.d.ts | 61 - dist/index.js | 8 - dist/payment/create-payment.d.ts | 33 - dist/payment/index.d.ts | 5 - dist/payment/intent/attach-intent.d.ts | 24 - dist/payment/intent/create-intent.d.ts | 29 - dist/payment/intent/index.d.ts | 3 - dist/payment/intent/retrieve-intent.d.ts | 21 - dist/payment/intent/types.d.ts | 121 - dist/payment/link/archive-link.d.ts | 18 - dist/payment/link/create-link.d.ts | 23 - dist/payment/link/index.d.ts | 5 - dist/payment/link/retrieve-from-ref-link.d.ts | 18 - dist/payment/link/retrieve-link.d.ts | 18 - dist/payment/link/types.d.ts | 34 - dist/payment/link/unarchive-link.d.ts | 18 - dist/payment/list-payments.d.ts | 17 - dist/payment/method/create-method.d.ts | 29 - dist/payment/method/index.d.ts | 2 - dist/payment/method/retrieve-method.d.ts | 18 - dist/payment/method/types.d.ts | 43 - dist/payment/refund/create-refund.d.ts | 6 - dist/payment/refund/index.d.ts | 1 - dist/payment/retrieve-payment.d.ts | 18 - dist/payment/source/create-source.d.ts | 31 - dist/payment/source/index.d.ts | 2 - dist/payment/source/retrieve-source.d.ts | 18 - dist/payment/source/types.d.ts | 28 - dist/payment/types.d.ts | 90 - dist/payment/webhook/create-webhook.d.ts | 21 - dist/payment/webhook/disable-webhook.d.ts | 18 - dist/payment/webhook/enable-webhook.d.ts | 18 - dist/payment/webhook/index.d.ts | 6 - dist/payment/webhook/list-webhooks.d.ts | 17 - dist/payment/webhook/retrieve-webhook.d.ts | 18 - dist/payment/webhook/types.d.ts | 25 - dist/payment/webhook/update-webhook.d.ts | 24 - dist/paymongo.js.cjs.development.js | 2178 ----- dist/paymongo.js.cjs.development.js.map | 1 - dist/paymongo.js.cjs.production.min.js | 2 - dist/paymongo.js.cjs.production.min.js.map | 1 - dist/paymongo.js.esm.js | 2172 ----- dist/paymongo.js.esm.js.map | 1 - dist/store/index.d.ts | 5 - dist/utils/api-base.d.ts | 3 - package.json | 14 +- pnpm-lock.yaml | 3952 ++++++++ yarn.lock | 8306 ----------------- 56 files changed, 3965 insertions(+), 13600 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .husky/.gitignore delete mode 100644 .husky/pre-commit create mode 100644 .npmignore delete mode 100644 .prettierignore delete mode 100644 dist/config.d.ts delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/payment/create-payment.d.ts delete mode 100644 dist/payment/index.d.ts delete mode 100644 dist/payment/intent/attach-intent.d.ts delete mode 100644 dist/payment/intent/create-intent.d.ts delete mode 100644 dist/payment/intent/index.d.ts delete mode 100644 dist/payment/intent/retrieve-intent.d.ts delete mode 100644 dist/payment/intent/types.d.ts delete mode 100644 dist/payment/link/archive-link.d.ts delete mode 100644 dist/payment/link/create-link.d.ts delete mode 100644 dist/payment/link/index.d.ts delete mode 100644 dist/payment/link/retrieve-from-ref-link.d.ts delete mode 100644 dist/payment/link/retrieve-link.d.ts delete mode 100644 dist/payment/link/types.d.ts delete mode 100644 dist/payment/link/unarchive-link.d.ts delete mode 100644 dist/payment/list-payments.d.ts delete mode 100644 dist/payment/method/create-method.d.ts delete mode 100644 dist/payment/method/index.d.ts delete mode 100644 dist/payment/method/retrieve-method.d.ts delete mode 100644 dist/payment/method/types.d.ts delete mode 100644 dist/payment/refund/create-refund.d.ts delete mode 100644 dist/payment/refund/index.d.ts delete mode 100644 dist/payment/retrieve-payment.d.ts delete mode 100644 dist/payment/source/create-source.d.ts delete mode 100644 dist/payment/source/index.d.ts delete mode 100644 dist/payment/source/retrieve-source.d.ts delete mode 100644 dist/payment/source/types.d.ts delete mode 100644 dist/payment/types.d.ts delete mode 100644 dist/payment/webhook/create-webhook.d.ts delete mode 100644 dist/payment/webhook/disable-webhook.d.ts delete mode 100644 dist/payment/webhook/enable-webhook.d.ts delete mode 100644 dist/payment/webhook/index.d.ts delete mode 100644 dist/payment/webhook/list-webhooks.d.ts delete mode 100644 dist/payment/webhook/retrieve-webhook.d.ts delete mode 100644 dist/payment/webhook/types.d.ts delete mode 100644 dist/payment/webhook/update-webhook.d.ts delete mode 100644 dist/paymongo.js.cjs.development.js delete mode 100644 dist/paymongo.js.cjs.development.js.map delete mode 100644 dist/paymongo.js.cjs.production.min.js delete mode 100644 dist/paymongo.js.cjs.production.min.js.map delete mode 100644 dist/paymongo.js.esm.js delete mode 100644 dist/paymongo.js.esm.js.map delete mode 100644 dist/store/index.d.ts delete mode 100644 dist/utils/api-base.d.ts create mode 100644 pnpm-lock.yaml delete mode 100644 yarn.lock diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 17672fb..0000000 --- a/.eslintignore +++ /dev/null @@ -1,11 +0,0 @@ -.eslintcache -.eslintrc.js -.prettierrc.js -.prettierignore -jest.config.js -package-lock.json -yarn.lock -tsconfig.json - -dist/ -node_modules/ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9916c37..71ba787 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: uses: bahmutov/npm-install@v1 - name: Lint - run: yarn lint + run: pnpm lint - name: Test env: @@ -39,7 +39,7 @@ jobs: PM_LINK_ID: ${{ secrets.PM_LINK_ID }} PM_LINK_REF: ${{ secrets.PM_LINK_REF }} PM_PAYMENT_ID: ${{ secrets.PM_PAYMENT_ID }} - run: yarn test --clearCache && yarn test --ci --coverage --maxWorkers=2 + run: pnpm test --clearCache && pnpm test --ci --coverage --maxWorkers=2 - name: Build - run: yarn build + run: pnpm build diff --git a/.gitignore b/.gitignore index a5c7caf..5e7a1e7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ node_modules .eslintcache .env +dist/ diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec..0000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 36af219..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..1ae6bd2 --- /dev/null +++ b/.npmignore @@ -0,0 +1,4 @@ +* +!dist/* +!package.json +!README.md diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index ef9490d..0000000 --- a/.prettierignore +++ /dev/null @@ -1,10 +0,0 @@ -.eslintcache -.eslintrc.js -.prettierrc.js -.prettierignore -package-lock.json -yarn.lock -tsconfig.json - -dist/ -node_modules/ diff --git a/dist/config.d.ts b/dist/config.d.ts deleted file mode 100644 index c120a7e..0000000 --- a/dist/config.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare const config: { - BASE_URL: string; -}; -export default config; diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index 37b2feb..0000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { attachIntent, createIntent, retrieveIntent } from "./payment/intent"; -import { createMethod, retrieveMethod } from "./payment/method"; -import { createWebhook, disableWebhook, enableWebhook, listWebhooks, retrieveWebhook, updateWebhook } from "./payment/webhook"; -import { createSource, retrieveSource } from "./payment/source"; -import { archiveLink, createLink, retrieveFromRefLink, retrieveLink, unarchiveLink } from "./payment/link"; -import { createPayment, retrievePayment, listPayments } from "./payment"; -export * from "./payment/types"; -export interface PaymongoClient { - intent: { - attach: typeof attachIntent; - create: typeof createIntent; - retrieve: typeof retrieveIntent; - }; - method: { - create: typeof createMethod; - retrieve: typeof retrieveMethod; - }; - webhook: { - create: typeof createWebhook; - disable: typeof disableWebhook; - enable: typeof enableWebhook; - list: typeof listWebhooks; - retrieve: typeof retrieveWebhook; - update: typeof updateWebhook; - }; - source: { - create: typeof createSource; - retrieve: typeof retrieveSource; - }; - link: { - archive: typeof archiveLink; - create: typeof createLink; - retrieveFromRef: typeof retrieveFromRefLink; - retrieve: typeof retrieveLink; - unarchive: typeof unarchiveLink; - }; - payment: { - create: typeof createPayment; - retrieve: typeof retrievePayment; - list: typeof listPayments; - }; -} -export declare type ClientFunction = (secretKey: string) => PaymongoClient; -/** - * @module PaymongoClient - * @param secretKey - The secret key of your Paymongo account. - * @returns {PaymongoClient} - The Paymongo client. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * return client; - * } - * ``` - * @returns - */ -declare const PaymongoClient: ClientFunction; -export default PaymongoClient; diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index 1f9d6d9..0000000 --- a/dist/index.js +++ /dev/null @@ -1,8 +0,0 @@ - -'use strict' - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./paymongo.js.cjs.production.min.js') -} else { - module.exports = require('./paymongo.js.cjs.development.js') -} diff --git a/dist/payment/create-payment.d.ts b/dist/payment/create-payment.d.ts deleted file mode 100644 index 8a30330..0000000 --- a/dist/payment/create-payment.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { PaymentProps, PaymentResponse } from "./types"; -/** - * @module createPayment - * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - The description of the payment. - * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {object} source - The source of the payment. - * @property {string} source.id - The id of the source. - * @property {string} source.type - Type of a Source resource. Possible value is source - * @returns {CreatePaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.payment.create({ - * amount: 10000, - * currency: "PHP", - * source: { - * id: "src_utfBfBav5fzXuJiJMDs7J6ye", - * type: "source", - * }, - * statement_descriptor: "Test Payment", - description: "Test Payment" - * }); - * return data - * } - * ``` - */ -export declare const createPayment: ({ amount, currency, source, description, statement_descriptor, }: PaymentProps) => Promise; diff --git a/dist/payment/index.d.ts b/dist/payment/index.d.ts deleted file mode 100644 index 2f40c0d..0000000 --- a/dist/payment/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./types"; -export * from "./intent"; -export * from "./create-payment"; -export * from "./retrieve-payment"; -export * from "./list-payments"; diff --git a/dist/payment/intent/attach-intent.d.ts b/dist/payment/intent/attach-intent.d.ts deleted file mode 100644 index 7ede74e..0000000 --- a/dist/payment/intent/attach-intent.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { AttachPaymentIntentProps, AttachPaymentIntentResponse } from "./types"; -/** - * @module attachIntent - * @property {string} intentId - Id of PaymentIntent. - * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key. - * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods. - * @returns {AttachPaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.attach({ - * intentId: intent.data.id, - * methodId: method.data.id, - * }); - * return data - * } - * ``` - */ -export declare const attachIntent: ({ intentId, methodId, clientKey, returnUrl, }: AttachPaymentIntentProps) => Promise; diff --git a/dist/payment/intent/create-intent.d.ts b/dist/payment/intent/create-intent.d.ts deleted file mode 100644 index 6feffaa..0000000 --- a/dist/payment/intent/create-intent.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { PaymentIntentResponse, CreatePaymentIntentProps } from "./types"; -/** - * @module createIntent - * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now. - * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint. - * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.intent.create({ - * amount: 10000, - * metadata: { - * order_id: "abc123", - * }, - * }); - * return data - * } - * ``` - */ -export declare const createIntent: ({ amount, currency, paymentMethodAllowed, request3DS, description, statementDescriptor, metadata, }: CreatePaymentIntentProps) => Promise; diff --git a/dist/payment/intent/index.d.ts b/dist/payment/intent/index.d.ts deleted file mode 100644 index 5ceed00..0000000 --- a/dist/payment/intent/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./attach-intent"; -export * from "./create-intent"; -export * from "./retrieve-intent"; diff --git a/dist/payment/intent/retrieve-intent.d.ts b/dist/payment/intent/retrieve-intent.d.ts deleted file mode 100644 index e7f85ab..0000000 --- a/dist/payment/intent/retrieve-intent.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { PaymentIntentResponse, RetrievePaymentIntentProps } from "./types"; -/** - * @module retrieveIntent - * @property {string} id - Id of the PaymentIntent. - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key. - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.retrieve({ - * id: "pi_key", - * }); - * return data - * } - * ``` - */ -export declare const retrieveIntent: ({ intentId, clientKey, }: RetrievePaymentIntentProps) => Promise; diff --git a/dist/payment/intent/types.d.ts b/dist/payment/intent/types.d.ts deleted file mode 100644 index 34f34b6..0000000 --- a/dist/payment/intent/types.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { MetaData, PaymentType } from "../types"; -export interface CreatePaymentIntentProps { - amount: number; - paymentMethodAllowed?: PaymentType[]; - request3DS?: "any" | "automatic"; - currency?: "PHP" | string; - description?: string; - statementDescriptor?: string; - metadata?: MetaData; -} -export interface RetrievePaymentIntentProps { - intentId: string; - clientKey?: string; -} -export interface AttachPaymentIntentProps { - intentId: string; - methodId: string; - clientKey?: string; - returnUrl?: string; -} -export interface PaymentIntentCardResponse { - request_three_d_secure: string; -} -export interface PaymentIntentPaymentMethodOptionsResponse { - card: PaymentIntentCardResponse; -} -export interface PaymentIntentAttributesResponse { - amount: number; - currency: string; - description?: string; - statement_descriptor: string; - status: string; - livemode: boolean; - client_key: string; - created_at: number; - updated_at: number; - last_payment_error?: any; - payment_method_allowed: PaymentType[]; - payments: any[]; - next_action?: any; - payment_method_options?: PaymentIntentPaymentMethodOptionsResponse; - metadata?: MetaData; -} -export interface PaymentIntentData { - id: string; - type: string; - attributes: PaymentIntentAttributesResponse; -} -export interface PaymentIntentResponse { - data: PaymentIntentData; -} -export interface AttachSource { - id: string; - type: string; - brand: string; - country: string; - last4: string; -} -export interface AttachPaymentAttributes { - access_url?: string; - amount: number; - balance_transaction_id: string; - billing?: any; - currency: string; - description?: string; - disputed: boolean; - external_reference_number?: any; - fee: number; - foreign_fee: number; - livemode: boolean; - net_amount: number; - origin: string; - payment_intent_id: string; - payout?: any; - source: AttachSource; - statement_descriptor: string; - status: string; - tax_amount?: any; - refunds: any[]; - taxes: any[]; - available_at: number; - created_at: number; - paid_at: number; - updated_at: number; -} -export interface AttachPayment { - id: string; - type: string; - attributes: AttachPaymentAttributes; -} -export interface AttachCard { - request_three_d_secure: string; -} -export interface AttachPaymentMethodOptions { - card: AttachCard; -} -export interface AttachAttributes { - amount: number; - currency: string; - description?: string; - statement_descriptor: string; - status: string; - livemode: boolean; - client_key: string; - created_at: number; - updated_at: number; - last_payment_error?: any; - payment_method_allowed: string[]; - payments: AttachPayment[]; - next_action?: any; - payment_method_options: AttachPaymentMethodOptions; - metadata?: MetaData; -} -export interface AttachData { - id: string; - type: string; - attributes: AttachAttributes; -} -export interface AttachPaymentIntentResponse { - data: AttachData; -} diff --git a/dist/payment/link/archive-link.d.ts b/dist/payment/link/archive-link.d.ts deleted file mode 100644 index 507fa13..0000000 --- a/dist/payment/link/archive-link.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentLinkResponse } from "./types"; -/** - * @module archiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.archive("link_id"); - * return data - * } - * ``` - */ -export declare const archiveLink: (linkId: string) => Promise; diff --git a/dist/payment/link/create-link.d.ts b/dist/payment/link/create-link.d.ts deleted file mode 100644 index a6c5c19..0000000 --- a/dist/payment/link/create-link.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { PaymentLinkResponse, CreatePaymentLinkProps } from "./types"; -/** - * @module createLink - * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser. - * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.link.create({ - * amount: 10000, - * description: "Payment for order 123", - * }); - * return data - * } - * ``` - */ -export declare const createLink: ({ amount, description, remarks, }: CreatePaymentLinkProps) => Promise; diff --git a/dist/payment/link/index.d.ts b/dist/payment/link/index.d.ts deleted file mode 100644 index b512104..0000000 --- a/dist/payment/link/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./archive-link"; -export * from "./create-link"; -export * from "./retrieve-from-ref-link"; -export * from "./retrieve-link"; -export * from "./unarchive-link"; diff --git a/dist/payment/link/retrieve-from-ref-link.d.ts b/dist/payment/link/retrieve-from-ref-link.d.ts deleted file mode 100644 index 8c28d41..0000000 --- a/dist/payment/link/retrieve-from-ref-link.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { RetrieveFromRefResponse } from "./types"; -/** - * @module retrieveFromRefLink - * @property {string} refId - The unique identifier of the PayMongo link checkout URL. - * @returns {RetrieveFromRefResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieveFromRef("ref_id"); - * return data - * } - * ``` - */ -export declare const retrieveFromRefLink: (refId: string) => Promise; diff --git a/dist/payment/link/retrieve-link.d.ts b/dist/payment/link/retrieve-link.d.ts deleted file mode 100644 index b789523..0000000 --- a/dist/payment/link/retrieve-link.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentLinkResponse } from "./types"; -/** - * @module retrieveLink - * @property {string} linkId - The id of the payment link. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieve("link_id"); - * return data - * } - * ``` - */ -export declare const retrieveLink: (linkId: string) => Promise; diff --git a/dist/payment/link/types.d.ts b/dist/payment/link/types.d.ts deleted file mode 100644 index e464bc3..0000000 --- a/dist/payment/link/types.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -export interface CreatePaymentLinkProps { - amount: number; - description: string; - remarks?: string; -} -export interface PaymentLinkAttributes { - amount: number; - archived: boolean; - currency: string; - description: string; - livemode: boolean; - fee: number; - remarks?: string; - status: string; - tax_amount?: any; - taxes: any[]; - checkout_url: string; - reference_number: string; - created_at: number; - updated_at: number; - payments: any[]; -} -export interface PaymentLinkData { - id: string; - type: string; - attributes: PaymentLinkAttributes; -} -export interface PaymentLinkResponse { - data: PaymentLinkData; -} -export interface RetrieveFromRefResponse { - has_more: boolean; - data: PaymentLinkData[]; -} diff --git a/dist/payment/link/unarchive-link.d.ts b/dist/payment/link/unarchive-link.d.ts deleted file mode 100644 index c672e50..0000000 --- a/dist/payment/link/unarchive-link.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentLinkResponse } from "./types"; -/** - * @module unarchiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.unarchive("link_id"); - * return data - * } - * ``` - */ -export declare const unarchiveLink: (linkId: string) => Promise; diff --git a/dist/payment/list-payments.d.ts b/dist/payment/list-payments.d.ts deleted file mode 100644 index 7ddb056..0000000 --- a/dist/payment/list-payments.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ListPaymentResponse } from "./types"; -/** - * @module listPayments - * @returns {ListPaymentResponse} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.payment.list(); - * return webhooks; - * } - * ``` - */ -export declare const listPayments: () => Promise; diff --git a/dist/payment/method/create-method.d.ts b/dist/payment/method/create-method.d.ts deleted file mode 100644 index 5e36c97..0000000 --- a/dist/payment/method/create-method.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { CreatePaymentMethodProps, PaymentMethodResponse } from "./types"; -/** - * @module createPaymentMethod - * @property {PaymentMethodDetails} details - The details of the payment method. - * @property {string} type - The type of payment method. The possible values are card and paymaya for now. - * @property {PaymentMethodBilling} billing - The billing details - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.method.create({ - * details: { - * cardNumber: "4343434343434345", - * expMonth: 3, - * expYear: 2023, - * cvc: "321", - * }, - * type: "card", - * }); - * return data - * } - * ``` - */ -export declare const createMethod: ({ details, type, billing, metadata, }: CreatePaymentMethodProps) => Promise; diff --git a/dist/payment/method/index.d.ts b/dist/payment/method/index.d.ts deleted file mode 100644 index 725da49..0000000 --- a/dist/payment/method/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-method"; -export * from "./retrieve-method"; diff --git a/dist/payment/method/retrieve-method.d.ts b/dist/payment/method/retrieve-method.d.ts deleted file mode 100644 index 9bdafe3..0000000 --- a/dist/payment/method/retrieve-method.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentMethodResponse } from "./types"; -/** - * @module retrievePaymentMethod - * @property {string} id - The id of the payment method. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.method.retrieve("pm_key"); - * return data - * } - * ``` - */ -export declare const retrieveMethod: (methodId: string) => Promise; diff --git a/dist/payment/method/types.d.ts b/dist/payment/method/types.d.ts deleted file mode 100644 index 703adc5..0000000 --- a/dist/payment/method/types.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { MetaData, BillingType } from "../types"; -export interface PaymentMethodDetails { - cardNumber: string; - expMonth: number; - expYear: number; - cvc: string; -} -export interface PaymentMethodAddress { - line1: string; - line2: string; - city: string; - state: string; - postal_code: string; - country: string; -} -export interface CreatePaymentMethodProps { - details: PaymentMethodDetails; - type: string; - billing?: BillingType; - metadata?: MetaData; -} -export interface PaymentMethodDetailsResponse { - exp_month: number; - exp_year: number; - last4: string; -} -export interface PaymentMethodAttributesResponse { - livemode: boolean; - type: string; - billing?: any; - created_at: number; - updated_at: number; - details: PaymentMethodDetailsResponse; - metadata?: any; -} -export interface PaymentMethodDataResponse { - id: string; - type: string; - attributes: PaymentMethodAttributesResponse; -} -export interface PaymentMethodResponse { - data: PaymentMethodDataResponse; -} diff --git a/dist/payment/refund/create-refund.d.ts b/dist/payment/refund/create-refund.d.ts deleted file mode 100644 index 81267ef..0000000 --- a/dist/payment/refund/create-refund.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @module createPaymentRefund - * - * - */ -export declare const createPaymentRefund: () => Promise; diff --git a/dist/payment/refund/index.d.ts b/dist/payment/refund/index.d.ts deleted file mode 100644 index e94c820..0000000 --- a/dist/payment/refund/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./create-refund"; diff --git a/dist/payment/retrieve-payment.d.ts b/dist/payment/retrieve-payment.d.ts deleted file mode 100644 index 1df211e..0000000 --- a/dist/payment/retrieve-payment.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentResponse } from "./types"; -/** - * @module retrievePayment - * @property {string} paymentId - The id of the payment. - * @returns {PaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.payment.retrieve("payment_id"); - * return data - * } - * ``` - */ -export declare const retrievePayment: (paymentId: string) => Promise; diff --git a/dist/payment/source/create-source.d.ts b/dist/payment/source/create-source.d.ts deleted file mode 100644 index b370644..0000000 --- a/dist/payment/source/create-source.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { PaymentSourceResponse, CreateSourceProps } from "./types"; -/** - * @module createSource - * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create. - * @property {RedirectType} redirect - redirect url for success and failed payment. - * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay. - * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {BillingProps} billing - billing information of the payment source. - * @returns {CreateSourceResponse} - The response of the create source request. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.source.create({ - * amount: 10000, - * redirect: { - * success: `http://localhost:3000/payments/success`, - * failed: `http://localhost:3000/payments/error`, - * }, - * type: "gcash", - * currency: "PHP", - * }); - * - * return data - * } - * ``` - */ -export declare const createSource: ({ amount, type, currency, redirect, billing, }: CreateSourceProps) => Promise; diff --git a/dist/payment/source/index.d.ts b/dist/payment/source/index.d.ts deleted file mode 100644 index d94d574..0000000 --- a/dist/payment/source/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-source"; -export * from "./retrieve-source"; diff --git a/dist/payment/source/retrieve-source.d.ts b/dist/payment/source/retrieve-source.d.ts deleted file mode 100644 index 6537846..0000000 --- a/dist/payment/source/retrieve-source.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentSourceResponse } from "./types"; -/** - * @module retrieveSource - * @property {string} sourceId - The id of the payment source. - * @returns {RetrieveSourceResponse} - The payment source data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.source.retrieve("source_id"); - * return data - * } - * ``` - */ -export declare const retrieveSource: (sourceId: string) => Promise; diff --git a/dist/payment/source/types.d.ts b/dist/payment/source/types.d.ts deleted file mode 100644 index 5f91e16..0000000 --- a/dist/payment/source/types.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { CurrencyType, RedirectType, SourceType, StatusType, BillingType } from "../types"; -export interface CreateSourceProps { - amount: number; - redirect: RedirectType; - type: SourceType; - currency: CurrencyType; - billing?: BillingType; -} -export interface PaymentSourceResponse { - data: { - id: string; - type: string; - attributes: PaymentSourceAttributes; - }; -} -export interface PaymentSourceAttributes { - amount: number; - billing?: BillingType; - currency: CurrencyType; - description?: any; - livemode: boolean; - redirect: RedirectType; - statement_descriptor?: any; - status: StatusType; - type: SourceType; - created_at: number; - updated_at: number; -} diff --git a/dist/payment/types.d.ts b/dist/payment/types.d.ts deleted file mode 100644 index d8c12f0..0000000 --- a/dist/payment/types.d.ts +++ /dev/null @@ -1,90 +0,0 @@ -export * from "./intent/types"; -export * from "./method/types"; -export * from "./webhook/types"; -export * from "./source/types"; -export * from "./link/types"; -export interface PaymentProps { - amount: number; - source: { - id: string; - type: string; - }; - currency?: CurrencyType; - description?: string; - statement_descriptor?: string; -} -export interface PaymentResponse { - data: PaymentData; -} -export interface PaymentData { - id: string; - type: string; - attributes: PaymentAttributes; -} -export interface PaymentAttributes { - access_url?: any; - amount: number; - balance_transaction_id: string; - billing?: BillingType; - currency: CurrencyType; - description: string; - disputed: boolean; - external_reference_number?: any; - fee: number; - livemode: boolean; - net_amount: number; - origin: string; - payment_intent_id?: any; - payout?: any; - source: PaymentSource; - statement_descriptor: string; - status: StatusType; - tax_amount?: any; - refunds: any[]; - taxes: any[]; - available_at: number; - created_at: number; - paid_at: number; - updated_at: number; -} -export interface PaymentSource { - id: string; - type: SourceType; -} -export interface ListPaymentResponse { - has_more: boolean; - data: PaymentData[]; -} -export declare type MetaData = { - [key: string]: string; -}; -export declare type PaymentType = "card" | "paymaya" | string; -export declare type SourceType = "gcash" | "grab_pay" | string; -export declare type CurrencyType = "PHP"; -export declare type RedirectType = { - success: string; - failed: string; - checkout_url?: string; -}; -export declare type StatusType = "pending" | "paid" | string; -export declare type WebhookEvent = "source.chargeable" | "payment.paid" | "payment.failed"; -/** - * @property {string} name - Name of the billing information - * @property {string} phone - Phone number of the billing information - * @property {string} email - E-mail address of the billing information - * @property {string} address - Address of the billing information - */ -export declare type BillingType = { - name?: string; - phone?: string; - email?: string; - address?: AddressType; -}; -export declare type AddressType = { - line1?: string; - line2?: string; - city?: string; - state?: string; - postal_code?: string; - country?: string; -}; diff --git a/dist/payment/webhook/create-webhook.d.ts b/dist/payment/webhook/create-webhook.d.ts deleted file mode 100644 index b7e1f3a..0000000 --- a/dist/payment/webhook/create-webhook.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { CreateWebhookProps, PaymentWebhookResponse } from "./types"; -/** - * @module createWebhook - * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event. - * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed. - * @returns {PaymentWebhookResponse} - The payment webhook data. * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.create({ - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ -export declare const createWebhook: ({ url, events, }: CreateWebhookProps) => Promise; diff --git a/dist/payment/webhook/disable-webhook.d.ts b/dist/payment/webhook/disable-webhook.d.ts deleted file mode 100644 index 31f872b..0000000 --- a/dist/payment/webhook/disable-webhook.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentWebhookResponse } from "./types"; -/** - * @module disableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.disable("webhook_id"); - * return webhook; - * } - * ``` - */ -export declare const disableWebhook: (webhookId: string) => Promise; diff --git a/dist/payment/webhook/enable-webhook.d.ts b/dist/payment/webhook/enable-webhook.d.ts deleted file mode 100644 index 7568b9c..0000000 --- a/dist/payment/webhook/enable-webhook.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentWebhookResponse } from "./types"; -/** - * @module enableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.enable("webhook_id"); - * return webhook; - * } - * ``` - */ -export declare const enableWebhook: (webhookId: string) => Promise; diff --git a/dist/payment/webhook/index.d.ts b/dist/payment/webhook/index.d.ts deleted file mode 100644 index 10782fe..0000000 --- a/dist/payment/webhook/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./create-webhook"; -export * from "./disable-webhook"; -export * from "./enable-webhook"; -export * from "./list-webhooks"; -export * from "./retrieve-webhook"; -export * from "./update-webhook"; diff --git a/dist/payment/webhook/list-webhooks.d.ts b/dist/payment/webhook/list-webhooks.d.ts deleted file mode 100644 index 855a17a..0000000 --- a/dist/payment/webhook/list-webhooks.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { PaymentWebhookResponse } from "./types"; -/** - * @module listWebhook - * @returns {PaymentWebhookResponse[]} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.webhook.list(); - * return webhooks; - * } - * ``` - */ -export declare const listWebhooks: () => Promise; diff --git a/dist/payment/webhook/retrieve-webhook.d.ts b/dist/payment/webhook/retrieve-webhook.d.ts deleted file mode 100644 index 7e8916d..0000000 --- a/dist/payment/webhook/retrieve-webhook.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaymentWebhookResponse } from "./types"; -/** - * @module retrieveWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.retrieve("webhook_id"); - * return webhook; - * } - * ``` - */ -export declare const retrieveWebhook: (webhookId: string) => Promise; diff --git a/dist/payment/webhook/types.d.ts b/dist/payment/webhook/types.d.ts deleted file mode 100644 index d6bfbd9..0000000 --- a/dist/payment/webhook/types.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { WebhookEvent } from "../types"; -export interface CreateWebhookProps { - url: string; - events: WebhookEvent[]; -} -export interface UpdateWebhookProps extends Partial { - webhookId: string; -} -export interface WebhookAttributes { - livemode: boolean; - secret_key: string; - status: string; - url: string; - events: WebhookEvent[]; - created_at: number; - updated_at: number; -} -export interface WebhookData { - id: string; - type: string; - attributes: WebhookAttributes; -} -export interface PaymentWebhookResponse { - data: WebhookData; -} diff --git a/dist/payment/webhook/update-webhook.d.ts b/dist/payment/webhook/update-webhook.d.ts deleted file mode 100644 index 3d239a0..0000000 --- a/dist/payment/webhook/update-webhook.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { UpdateWebhookProps, PaymentWebhookResponse } from "./types"; -/** - * @module updateWebhook - * @property {string} webhookId - The ID of the webhook to update. - * @property {string} url - The webhook url - * @property {string[]} events - The webhook events ("source.chargeable" | "payment.paid" | "payment.failed") - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.update({ - * webhookId: "webhook_id", - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ -export declare const updateWebhook: ({ webhookId, url, events, }: UpdateWebhookProps) => Promise; diff --git a/dist/paymongo.js.cjs.development.js b/dist/paymongo.js.cjs.development.js deleted file mode 100644 index 3d817ec..0000000 --- a/dist/paymongo.js.cjs.development.js +++ /dev/null @@ -1,2178 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var axios = _interopDefault(require('axios')); -var create = _interopDefault(require('zustand/vanilla')); - -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} - -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - - _next(undefined); - }); - }; -} - -function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - return _extends.apply(this, arguments); -} - -function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; -} - -var runtime_1 = createCommonjsModule(function (module) { -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -var runtime = (function (exports) { - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined$1; // More compressible than void 0. - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - function define(obj, key, value) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - return obj[key]; - } - try { - // IE 8 has a broken Object.defineProperty that only works on DOM objects. - define({}, ""); - } catch (err) { - define = function(obj, key, value) { - return obj[key] = value; - }; - } - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); - - // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - generator._invoke = makeInvokeMethod(innerFn, self, context); - - return generator; - } - exports.wrap = wrap; - - // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - function tryCatch(fn, obj, arg) { - try { - return { type: "normal", arg: fn.call(obj, arg) }; - } catch (err) { - return { type: "throw", arg: err }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; - - // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - var ContinueSentinel = {}; - - // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - - // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - var IteratorPrototype = {}; - define(IteratorPrototype, iteratorSymbol, function () { - return this; - }); - - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - if (NativeIteratorPrototype && - NativeIteratorPrototype !== Op && - hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = - Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = GeneratorFunctionPrototype; - define(Gp, "constructor", GeneratorFunctionPrototype); - define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); - GeneratorFunction.displayName = define( - GeneratorFunctionPrototype, - toStringTagSymbol, - "GeneratorFunction" - ); - - // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function(method) { - define(prototype, method, function(arg) { - return this._invoke(method, arg); - }); - }); - } - - exports.isGeneratorFunction = function(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor - ? ctor === GeneratorFunction || - // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" - : false; - }; - - exports.mark = function(genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - define(genFun, toStringTagSymbol, "GeneratorFunction"); - } - genFun.prototype = Object.create(Gp); - return genFun; - }; - - // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - exports.awrap = function(arg) { - return { __await: arg }; - }; - - function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - if (value && - typeof value === "object" && - hasOwn.call(value, "__await")) { - return PromiseImpl.resolve(value.__await).then(function(value) { - invoke("next", value, resolve, reject); - }, function(err) { - invoke("throw", err, resolve, reject); - }); - } - - return PromiseImpl.resolve(value).then(function(unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function(error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); - }); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function(resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = - // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then( - callInvokeWithMethodAndArg, - // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg - ) : callInvokeWithMethodAndArg(); - } - - // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - define(AsyncIterator.prototype, asyncIteratorSymbol, function () { - return this; - }); - exports.AsyncIterator = AsyncIterator; - - // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { - if (PromiseImpl === void 0) PromiseImpl = Promise; - - var iter = new AsyncIterator( - wrap(innerFn, outerFn, self, tryLocsList), - PromiseImpl - ); - - return exports.isGeneratorFunction(outerFn) - ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function(result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } - - // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done - ? GenStateCompleted - : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - - } else if (record.type === "throw") { - state = GenStateCompleted; - // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } - - // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (method === undefined$1) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - // Note: ["return"] must be used for ES3 parsing compatibility. - if (delegate.iterator["return"]) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined$1; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError( - "The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (! info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; - - // Resume execution at the desired location (see delegateYield). - context.next = delegate.nextLoc; - - // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined$1; - } - - } else { - // Re-yield the result returned by the delegate method. - return info; - } - - // The delegate iterator is finished, so forget it and continue with - // the outer generator. - context.delegate = null; - return ContinueSentinel; - } - - // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - defineIteratorMethods(Gp); - - define(Gp, toStringTagSymbol, "Generator"); - - // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - define(Gp, iteratorSymbol, function() { - return this; - }); - - define(Gp, "toString", function() { - return "[object Generator]"; - }); - - function pushTryEntry(locs) { - var entry = { tryLoc: locs[0] }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ tryLoc: "root" }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - exports.keys = function(object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - keys.reverse(); - - // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - return function next() { - while (keys.length) { - var key = keys.pop(); - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } - - // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined$1; - next.done = true; - - return next; - }; - - return next.next = next; - } - } - - // Return an iterator with no values. - return { next: doneResult }; - } - exports.values = values; - - function doneResult() { - return { value: undefined$1, done: true }; - } - - Context.prototype = { - constructor: Context, - - reset: function(skipTempReset) { - this.prev = 0; - this.next = 0; - // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - this.sent = this._sent = undefined$1; - this.done = false; - this.delegate = null; - - this.method = "next"; - this.arg = undefined$1; - - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && - hasOwn.call(this, name) && - !isNaN(+name.slice(1))) { - this[name] = undefined$1; - } - } - } - }, - - stop: function() { - this.done = true; - - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - - dispatchException: function(exception) { - if (this.done) { - throw exception; - } - - var context = this; - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined$1; - } - - return !! caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - - abrupt: function(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && - hasOwn.call(entry, "finallyLoc") && - this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && - (type === "break" || - type === "continue") && - finallyEntry.tryLoc <= arg && - arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - - complete: function(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || - record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - - finish: function(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - - "catch": function(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; - } - } - - // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - throw new Error("illegal catch attempt"); - }, - - delegateYield: function(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined$1; - } - - return ContinueSentinel; - } - }; - - // Regardless of whether this script is executing as a CommonJS module - // or not, return the runtime object so that we can declare the variable - // regeneratorRuntime in the outer scope, which allows this module to be - // injected easily by `bin/regenerator --include-runtime script.js`. - return exports; - -}( - // If this script is executing as a CommonJS module, use module.exports - // as the regeneratorRuntime namespace. Otherwise create a new empty - // object. Either way, the resulting object will be used to initialize - // the regeneratorRuntime variable at the top of this file. - module.exports -)); - -try { - regeneratorRuntime = runtime; -} catch (accidentalStrictMode) { - // This module should not be running in strict mode, so the above - // assignment should always work unless something is misconfigured. Just - // in case runtime.js accidentally runs in strict mode, in modern engines - // we can explicitly access globalThis. In older engines we can escape - // strict mode using a global Function call. This could conceivably fail - // if a Content Security Policy forbids using Function, but in that case - // the proper solution is to fix the accidental strict mode problem. If - // you've misconfigured your bundler to force strict mode and applied a - // CSP to forbid Function, and you're not willing to fix either of those - // problems, please detail your unique predicament in a GitHub issue. - if (typeof globalThis === "object") { - globalThis.regeneratorRuntime = runtime; - } else { - Function("r", "regeneratorRuntime = r")(runtime); - } -} -}); - -var config = { - BASE_URL: "https://api.paymongo.com/v1" -}; - -var store = /*#__PURE__*/create(function (set) { - return { - secretKey: "", - setSecretKey: function setSecretKey(secretKey) { - return set(function (state) { - return _extends({}, state, { - secretKey: secretKey - }); - }); - } - }; -}); - -var baseUrl = config.BASE_URL; -var axiosInstance = /*#__PURE__*/axios.create({ - baseURL: baseUrl, - headers: { - "Content-type": "application/json", - Accept: "application/json", - "Access-Control-Allow-Origin": "*" - }, - responseType: "json" -}); -store.subscribe(function (state) { - axiosInstance.defaults.auth = { - username: state.secretKey, - password: "" - }; -}); - -/** - * @module attachIntent - * @property {string} intentId - Id of PaymentIntent. - * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key. - * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods. - * @returns {AttachPaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.attach({ - * intentId: intent.data.id, - * methodId: method.data.id, - * }); - * return data - * } - * ``` - */ - -var attachIntent = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var intentId, methodId, clientKey, returnUrl, data, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - intentId = _ref.intentId, methodId = _ref.methodId, clientKey = _ref.clientKey, returnUrl = _ref.returnUrl; - data = { - attributes: { - payment_method: methodId - } - }; - if (clientKey) data.attributes.client_key = clientKey; - if (returnUrl) data.attributes.return_url = returnUrl; - _context.prev = 4; - _context.next = 7; - return axiosInstance.post("/payment_intents/" + intentId + "/attach", { - data: data - }); - - case 7: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](4); - error = _context.t0; - throw error.response.data; - - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 11]]); - })); - - return function attachIntent(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -var defaultProps = { - amount: 0, - paymentMethodAllowed: ["card", "paymaya"], - currency: "PHP", - request3DS: "any" -}; -/** - * @module createIntent - * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now. - * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint. - * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.intent.create({ - * amount: 10000, - * metadata: { - * order_id: "abc123", - * }, - * }); - * return data - * } - * ``` - */ - -var createIntent = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var _ref$amount, amount, _ref$currency, currency, _ref$paymentMethodAll, paymentMethodAllowed, _ref$request3DS, request3DS, description, statementDescriptor, metadata, data, res, error; - - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? defaultProps.amount : _ref$amount, _ref$currency = _ref.currency, currency = _ref$currency === void 0 ? defaultProps.currency : _ref$currency, _ref$paymentMethodAll = _ref.paymentMethodAllowed, paymentMethodAllowed = _ref$paymentMethodAll === void 0 ? defaultProps.paymentMethodAllowed : _ref$paymentMethodAll, _ref$request3DS = _ref.request3DS, request3DS = _ref$request3DS === void 0 ? defaultProps.request3DS : _ref$request3DS, description = _ref.description, statementDescriptor = _ref.statementDescriptor, metadata = _ref.metadata; - data = { - attributes: { - amount: amount, - payment_method_allowed: paymentMethodAllowed, - payment_method_options: { - card: { - request_three_d_secure: request3DS - } - }, - currency: currency - } - }; - if (description) data.attributes.description = description; - if (statementDescriptor) data.attributes.statement_descriptor = statementDescriptor; - if (metadata) data.attributes.metadata = metadata; - _context.prev = 5; - _context.next = 8; - return axiosInstance.post("/payment_intents", { - data: data - }); - - case 8: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 12: - _context.prev = 12; - _context.t0 = _context["catch"](5); - error = _context.t0; - throw error.response.data; - - case 16: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[5, 12]]); - })); - - return function createIntent(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrieveIntent - * @property {string} id - Id of the PaymentIntent. - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key. - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.retrieve({ - * id: "pi_key", - * }); - * return data - * } - * ``` - */ - -var retrieveIntent = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var intentId, clientKey, url, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - intentId = _ref.intentId, clientKey = _ref.clientKey; - _context.prev = 1; - url = "/payment_intents/" + intentId; - if (clientKey) url = url + "?client_key=" + clientKey; - _context.next = 6; - return axiosInstance.get(url); - - case 6: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](1); - error = _context.t0; - throw error.response.data; - - case 14: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[1, 10]]); - })); - - return function retrieveIntent(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module createPaymentMethod - * @property {PaymentMethodDetails} details - The details of the payment method. - * @property {string} type - The type of payment method. The possible values are card and paymaya for now. - * @property {PaymentMethodBilling} billing - The billing details - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.method.create({ - * details: { - * cardNumber: "4343434343434345", - * expMonth: 3, - * expYear: 2023, - * cvc: "321", - * }, - * type: "card", - * }); - * return data - * } - * ``` - */ - -var createMethod = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var details, type, billing, metadata, data, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - details = _ref.details, type = _ref.type, billing = _ref.billing, metadata = _ref.metadata; - data = { - attributes: { - details: { - card_number: details.cardNumber, - exp_month: details.expMonth, - exp_year: details.expYear, - cvc: details.cvc - }, - type: type - } - }; - if (billing) data.attributes.billing = billing; - if (metadata) data.attributes.metadata = metadata; - _context.prev = 4; - _context.next = 7; - return axiosInstance.post("/payment_methods", { - data: data - }); - - case 7: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](4); - error = _context.t0; - throw error.response.data; - - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 11]]); - })); - - return function createMethod(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrievePaymentMethod - * @property {string} id - The id of the payment method. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.method.retrieve("pm_key"); - * return data - * } - * ``` - */ - -var retrieveMethod = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(methodId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/payment_methods/" + methodId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveMethod(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module createWebhook - * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event. - * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed. - * @returns {PaymentWebhookResponse} - The payment webhook data. * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.create({ - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ - -var createWebhook = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var url, events, data, response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - url = _ref.url, events = _ref.events; - data = { - attributes: { - url: url, - events: events - } - }; - _context.prev = 2; - _context.next = 5; - return axiosInstance.post("/webhooks", { - data: data - }); - - case 5: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 9: - _context.prev = 9; - _context.t0 = _context["catch"](2); - error = _context.t0; - throw error.response.data; - - case 13: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[2, 9]]); - })); - - return function createWebhook(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module disableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.disable("webhook_id"); - * return webhook; - * } - * ``` - */ - -var disableWebhook = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(webhookId) { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/webhooks/" + webhookId + "/disable"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function disableWebhook(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module enableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.enable("webhook_id"); - * return webhook; - * } - * ``` - */ - -var enableWebhook = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(webhookId) { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/webhooks/" + webhookId + "/enable"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function enableWebhook(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module listWebhook - * @returns {PaymentWebhookResponse[]} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.webhook.list(); - * return webhooks; - * } - * ``` - */ - -var listWebhooks = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/webhooks"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function listWebhooks() { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module retrieveWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.retrieve("webhook_id"); - * return webhook; - * } - * ``` - */ - -var retrieveWebhook = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(webhookId) { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/webhooks/" + webhookId); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveWebhook(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module updateWebhook - * @property {string} webhookId - The ID of the webhook to update. - * @property {string} url - The webhook url - * @property {string[]} events - The webhook events ("source.chargeable" | "payment.paid" | "payment.failed") - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.update({ - * webhookId: "webhook_id", - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ - -var updateWebhook = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var webhookId, url, events, data, response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - webhookId = _ref.webhookId, url = _ref.url, events = _ref.events; - data = { - attributes: { - url: url, - events: events - } - }; - _context.prev = 2; - _context.next = 5; - return axiosInstance.put("/webhooks/" + webhookId, { - data: data - }); - - case 5: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 9: - _context.prev = 9; - _context.t0 = _context["catch"](2); - error = _context.t0; - throw error.response.data; - - case 13: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[2, 9]]); - })); - - return function updateWebhook(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -var defaultProps$1 = { - amount: 0, - type: "gcash", - currency: "PHP" -}; -/** - * @module createSource - * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create. - * @property {RedirectType} redirect - redirect url for success and failed payment. - * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay. - * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {BillingProps} billing - billing information of the payment source. - * @returns {CreateSourceResponse} - The response of the create source request. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.source.create({ - * amount: 10000, - * redirect: { - * success: `http://localhost:3000/payments/success`, - * failed: `http://localhost:3000/payments/error`, - * }, - * type: "gcash", - * currency: "PHP", - * }); - * - * return data - * } - * ``` - */ - -var createSource = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var _ref$amount, amount, _ref$type, type, _ref$currency, currency, redirect, billing, data, response, error; - - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? defaultProps$1.amount : _ref$amount, _ref$type = _ref.type, type = _ref$type === void 0 ? defaultProps$1.type : _ref$type, _ref$currency = _ref.currency, currency = _ref$currency === void 0 ? defaultProps$1.currency : _ref$currency, redirect = _ref.redirect, billing = _ref.billing; - data = { - attributes: { - amount: amount, - redirect: redirect, - type: type, - currency: currency - } - }; - if (billing) data.attributes.billing = billing; - _context.prev = 3; - _context.next = 6; - return axiosInstance.post("/sources", { - data: data - }); - - case 6: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](3); - error = _context.t0; - throw error.response.data; - - case 14: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[3, 10]]); - })); - - return function createSource(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrieveSource - * @property {string} sourceId - The id of the payment source. - * @returns {RetrieveSourceResponse} - The payment source data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.source.retrieve("source_id"); - * return data - * } - * ``` - */ - -var retrieveSource = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(sourceId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/sources/" + sourceId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveSource(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module archiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.archive("link_id"); - * return data - * } - * ``` - */ - -var archiveLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(linkId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/links/" + linkId + "/archive"); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function archiveLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module createLink - * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser. - * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.link.create({ - * amount: 10000, - * description: "Payment for order 123", - * }); - * return data - * } - * ``` - */ - -var createLink = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var amount, description, remarks, data, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - amount = _ref.amount, description = _ref.description, remarks = _ref.remarks; - data = { - attributes: { - amount: amount, - description: description - } - }; - if (remarks) data.attributes.remarks = remarks; - _context.prev = 3; - _context.next = 6; - return axiosInstance.post("/links", { - data: data - }); - - case 6: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](3); - error = _context.t0; - throw error.response.data; - - case 14: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[3, 10]]); - })); - - return function createLink(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrieveFromRefLink - * @property {string} refId - The unique identifier of the PayMongo link checkout URL. - * @returns {RetrieveFromRefResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieveFromRef("ref_id"); - * return data - * } - * ``` - */ - -var retrieveFromRefLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(refId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/links?reference_number=" + refId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveFromRefLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module retrieveLink - * @property {string} linkId - The id of the payment link. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieve("link_id"); - * return data - * } - * ``` - */ - -var retrieveLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(linkId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/links/" + linkId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module unarchiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.unarchive("link_id"); - * return data - * } - * ``` - */ - -var unarchiveLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(linkId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/links/" + linkId + "/unarchive"); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function unarchiveLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -var defaultProps$2 = { - amount: 0, - currency: "PHP" -}; -/** - * @module createPayment - * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - The description of the payment. - * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {object} source - The source of the payment. - * @property {string} source.id - The id of the source. - * @property {string} source.type - Type of a Source resource. Possible value is source - * @returns {CreatePaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.payment.create({ - * amount: 10000, - * currency: "PHP", - * source: { - * id: "src_utfBfBav5fzXuJiJMDs7J6ye", - * type: "source", - * }, - * statement_descriptor: "Test Payment", - description: "Test Payment" - * }); - * return data - * } - * ``` - */ - -var createPayment = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var _ref$amount, amount, _ref$currency, currency, source, description, statement_descriptor, data, res, error; - - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? defaultProps$2.amount : _ref$amount, _ref$currency = _ref.currency, currency = _ref$currency === void 0 ? defaultProps$2.currency : _ref$currency, source = _ref.source, description = _ref.description, statement_descriptor = _ref.statement_descriptor; - data = { - attributes: { - amount: amount, - currency: currency, - source: source - } - }; - if (description) data.attributes.description = description; - if (statement_descriptor) data.attributes.statement_descriptor = statement_descriptor; - _context.prev = 4; - _context.next = 7; - return axiosInstance.post("/payments", { - data: data - }); - - case 7: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](4); - error = _context.t0; - throw error.response.data; - - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 11]]); - })); - - return function createPayment(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrievePayment - * @property {string} paymentId - The id of the payment. - * @returns {PaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.payment.retrieve("payment_id"); - * return data - * } - * ``` - */ - -var retrievePayment = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(paymentId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/payments/" + paymentId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrievePayment(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module listPayments - * @returns {ListPaymentResponse} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.payment.list(); - * return webhooks; - * } - * ``` - */ - -var listPayments = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/payments"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function listPayments() { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module PaymongoClient - * @param secretKey - The secret key of your Paymongo account. - * @returns {PaymongoClient} - The Paymongo client. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * return client; - * } - * ``` - * @returns - */ - -var PaymongoClient = function PaymongoClient(secretKey) { - store.setState(function (state) { - return _extends({}, state, { - secretKey: secretKey - }); - }); - return { - intent: { - attach: attachIntent, - create: createIntent, - retrieve: retrieveIntent - }, - method: { - create: createMethod, - retrieve: retrieveMethod - }, - webhook: { - create: createWebhook, - disable: disableWebhook, - enable: enableWebhook, - list: listWebhooks, - retrieve: retrieveWebhook, - update: updateWebhook - }, - source: { - create: createSource, - retrieve: retrieveSource - }, - link: { - archive: archiveLink, - create: createLink, - retrieveFromRef: retrieveFromRefLink, - retrieve: retrieveLink, - unarchive: unarchiveLink - }, - payment: { - create: createPayment, - retrieve: retrievePayment, - list: listPayments - } - }; -}; - -exports.default = PaymongoClient; -//# sourceMappingURL=paymongo.js.cjs.development.js.map diff --git a/dist/paymongo.js.cjs.development.js.map b/dist/paymongo.js.cjs.development.js.map deleted file mode 100644 index 3aa2127..0000000 --- a/dist/paymongo.js.cjs.development.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"paymongo.js.cjs.development.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/config.ts","../src/store/index.ts","../src/utils/api-base.ts","../src/payment/intent/attach-intent.ts","../src/payment/intent/create-intent.ts","../src/payment/intent/retrieve-intent.ts","../src/payment/method/create-method.ts","../src/payment/method/retrieve-method.ts","../src/payment/webhook/create-webhook.ts","../src/payment/webhook/disable-webhook.ts","../src/payment/webhook/enable-webhook.ts","../src/payment/webhook/list-webhooks.ts","../src/payment/webhook/retrieve-webhook.ts","../src/payment/webhook/update-webhook.ts","../src/payment/source/create-source.ts","../src/payment/source/retrieve-source.ts","../src/payment/link/archive-link.ts","../src/payment/link/create-link.ts","../src/payment/link/retrieve-from-ref-link.ts","../src/payment/link/retrieve-link.ts","../src/payment/link/unarchive-link.ts","../src/payment/create-payment.ts","../src/payment/retrieve-payment.ts","../src/payment/list-payments.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","const config = {\r\n BASE_URL: \"https://api.paymongo.com/v1\",\r\n};\r\n\r\nexport default config;\r\n","import create from \"zustand/vanilla\";\r\n\r\nexport interface AppStore {\r\n secretKey: string;\r\n setSecretKey: (secretKey: string) => void;\r\n}\r\n\r\nexport const store = create((set) => ({\r\n secretKey: \"\",\r\n setSecretKey: (secretKey) => set((state) => ({ ...state, secretKey })),\r\n}));\r\n","import axios from \"axios\";\r\nimport config from \"../config\";\r\nimport { store } from \"../store\";\r\n\r\nexport const baseUrl = config.BASE_URL;\r\n\r\nconst axiosInstance = axios.create({\r\n baseURL: baseUrl,\r\n headers: {\r\n \"Content-type\": \"application/json\",\r\n Accept: \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n },\r\n responseType: \"json\",\r\n});\r\n\r\nstore.subscribe((state) => {\r\n axiosInstance.defaults.auth = {\r\n username: state.secretKey,\r\n password: \"\",\r\n };\r\n});\r\n\r\nexport default axiosInstance;\r\n","import api from \"../../utils/api-base\";\r\nimport { AttachPaymentIntentProps, AttachPaymentIntentResponse } from \"./types\";\r\n\r\n/**\r\n * @module attachIntent\r\n * @property {string} intentId - Id of PaymentIntent.\r\n * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent\r\n * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key.\r\n * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods.\r\n * @returns {AttachPaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.intent.attach({\r\n * intentId: intent.data.id,\r\n * methodId: method.data.id,\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const attachIntent = async ({\r\n intentId,\r\n methodId,\r\n clientKey,\r\n returnUrl,\r\n}: AttachPaymentIntentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n payment_method: methodId,\r\n },\r\n };\r\n\r\n if (clientKey) data.attributes.client_key = clientKey;\r\n if (returnUrl) data.attributes.return_url = returnUrl;\r\n\r\n try {\r\n const res = await api.post(\r\n `/payment_intents/${intentId}/attach`,\r\n { data }\r\n );\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentIntentResponse, CreatePaymentIntentProps } from \"./types\";\r\n\r\nconst defaultProps: CreatePaymentIntentProps = {\r\n amount: 0,\r\n paymentMethodAllowed: [\"card\", \"paymaya\"],\r\n currency: \"PHP\",\r\n request3DS: \"any\",\r\n};\r\n\r\n/**\r\n * @module createIntent\r\n * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050.\r\n * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now.\r\n * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card.\r\n * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\r\n * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint.\r\n * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space.\r\n * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted\r\n * @returns {PaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.intent.create({\r\n * amount: 10000,\r\n * metadata: {\r\n * order_id: \"abc123\",\r\n * },\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createIntent = async ({\r\n amount = defaultProps.amount,\r\n currency = defaultProps.currency,\r\n paymentMethodAllowed = defaultProps.paymentMethodAllowed,\r\n request3DS = defaultProps.request3DS,\r\n description,\r\n statementDescriptor,\r\n metadata,\r\n}: CreatePaymentIntentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n payment_method_allowed: paymentMethodAllowed,\r\n payment_method_options: {\r\n card: {\r\n request_three_d_secure: request3DS,\r\n },\r\n },\r\n currency,\r\n },\r\n };\r\n\r\n if (description) data.attributes.description = description;\r\n if (statementDescriptor)\r\n data.attributes.statement_descriptor = statementDescriptor;\r\n if (metadata) data.attributes.metadata = metadata;\r\n\r\n try {\r\n const res = await api.post(\"/payment_intents\", {\r\n data,\r\n });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentIntentResponse, RetrievePaymentIntentProps } from \"./types\";\r\n\r\n/**\r\n * @module retrieveIntent\r\n * @property {string} id - Id of the PaymentIntent.\r\n * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key.\r\n * @returns {PaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.intent.retrieve({\r\n * id: \"pi_key\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveIntent = async ({\r\n intentId,\r\n clientKey,\r\n}: RetrievePaymentIntentProps): Promise => {\r\n try {\r\n let url = `/payment_intents/${intentId}`;\r\n if (clientKey) url = `${url}?client_key=${clientKey}`;\r\n const res = await api.get(url);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { CreatePaymentMethodProps, PaymentMethodResponse } from \"./types\";\r\n\r\n/**\r\n * @module createPaymentMethod\r\n * @property {PaymentMethodDetails} details - The details of the payment method.\r\n * @property {string} type - The type of payment method. The possible values are card and paymaya for now.\r\n * @property {PaymentMethodBilling} billing - The billing details\r\n * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted.\r\n * @returns {PaymentMethodResponse} - The payment method data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.method.create({\r\n * details: {\r\n * cardNumber: \"4343434343434345\",\r\n * expMonth: 3,\r\n * expYear: 2023,\r\n * cvc: \"321\",\r\n * },\r\n * type: \"card\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createMethod = async ({\r\n details,\r\n type,\r\n billing,\r\n metadata,\r\n}: CreatePaymentMethodProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n details: {\r\n card_number: details.cardNumber,\r\n exp_month: details.expMonth,\r\n exp_year: details.expYear,\r\n cvc: details.cvc,\r\n },\r\n type,\r\n },\r\n };\r\n\r\n if (billing) data.attributes.billing = billing;\r\n if (metadata) data.attributes.metadata = metadata;\r\n\r\n try {\r\n const res = await api.post(\"/payment_methods\", {\r\n data,\r\n });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentMethodResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrievePaymentMethod\r\n * @property {string} id - The id of the payment method.\r\n * @returns {PaymentMethodResponse} - The payment method data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.method.retrieve(\"pm_key\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveMethod = async (\r\n methodId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(\r\n `/payment_methods/${methodId}`\r\n );\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { CreateWebhookProps, PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module createWebhook\r\n * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event.\r\n * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed.\r\n * @returns {PaymentWebhookResponse} - The payment webhook data. *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.create({\r\n * events: [\"payment.failed\", \"payment.paid\", \"source.chargeable\"],\r\n * url: \"https://example.com/webhook\",\r\n * });\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const createWebhook = async ({\r\n url,\r\n events,\r\n}: CreateWebhookProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n url,\r\n events,\r\n },\r\n };\r\n\r\n try {\r\n const response = await api.post(\"/webhooks\", {\r\n data,\r\n });\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module disableWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.disable(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const disableWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.post(\r\n `/webhooks/${webhookId}/disable`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module enableWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.enable(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const enableWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.post(\r\n `/webhooks/${webhookId}/enable`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module listWebhook\r\n * @returns {PaymentWebhookResponse[]} - The list of payment webhooks.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhooks = await client.webhook.list();\r\n * return webhooks;\r\n * }\r\n * ```\r\n */\r\nexport const listWebhooks = async (): Promise => {\r\n try {\r\n const response = await api.get(\"/webhooks\");\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.retrieve(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const retrieveWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.get(\r\n `/webhooks/${webhookId}`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { UpdateWebhookProps, PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module updateWebhook\r\n * @property {string} webhookId - The ID of the webhook to update.\r\n * @property {string} url - The webhook url\r\n * @property {string[]} events - The webhook events (\"source.chargeable\" | \"payment.paid\" | \"payment.failed\")\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.update({\r\n * webhookId: \"webhook_id\",\r\n * events: [\"payment.failed\", \"payment.paid\", \"source.chargeable\"],\r\n * url: \"https://example.com/webhook\",\r\n * });\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const updateWebhook = async ({\r\n webhookId,\r\n url,\r\n events,\r\n}: UpdateWebhookProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n url,\r\n events,\r\n },\r\n };\r\n\r\n try {\r\n const response = await api.put(\r\n `/webhooks/${webhookId}`,\r\n { data }\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\nimport { CurrencyType } from \"../types\";\nimport { PaymentSourceResponse, CreateSourceProps } from \"./types\";\n\nconst defaultProps = {\n amount: 0,\n type: \"gcash\",\n currency: \"PHP\",\n};\n\n/**\n * @module createSource\n * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create.\n * @property {RedirectType} redirect - redirect url for success and failed payment.\n * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay.\n * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\n * @property {BillingProps} billing - billing information of the payment source.\n * @returns {CreateSourceResponse} - The response of the create source request.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * const data = await client.source.create({\n * amount: 10000,\n * redirect: {\n * success: `http://localhost:3000/payments/success`,\n * failed: `http://localhost:3000/payments/error`,\n * },\n * type: \"gcash\",\n * currency: \"PHP\",\n * });\n *\n * return data\n * }\n * ```\n */\nexport const createSource = async ({\n amount = defaultProps.amount,\n type = defaultProps.type,\n currency = defaultProps.currency as CurrencyType,\n redirect,\n billing,\n}: CreateSourceProps): Promise => {\n const data: any = {\n attributes: {\n amount,\n redirect,\n type,\n currency,\n },\n };\n\n if (billing) data.attributes.billing = billing;\n\n try {\n const response = await api.post(\"/sources\", {\n data,\n });\n return response.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../../utils/api-base\";\nimport { PaymentSourceResponse } from \"./types\";\n\n/**\n * @module retrieveSource\n * @property {string} sourceId - The id of the payment source.\n * @returns {RetrieveSourceResponse} - The payment source data.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * data = await client.source.retrieve(\"source_id\");\n * return data\n * }\n * ```\n */\nexport const retrieveSource = async (\n sourceId: string\n): Promise => {\n try {\n const res = await api.get(`/sources/${sourceId}`);\n return res.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module archiveLink\r\n * @property {string} linkId - ID of the link to archive.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.archive(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const archiveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.post(`/links/${linkId}/archive`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse, CreatePaymentLinkProps } from \"./types\";\r\n\r\n/**\r\n * @module createLink\r\n * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050.\r\n * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser.\r\n * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.link.create({\r\n * amount: 10000,\r\n * description: \"Payment for order 123\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createLink = async ({\r\n amount,\r\n description,\r\n remarks,\r\n}: CreatePaymentLinkProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n description,\r\n },\r\n };\r\n\r\n if (remarks) data.attributes.remarks = remarks;\r\n\r\n try {\r\n const res = await api.post(\"/links\", { data });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { RetrieveFromRefResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveFromRefLink\r\n * @property {string} refId - The unique identifier of the PayMongo link checkout URL.\r\n * @returns {RetrieveFromRefResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.retrieveFromRef(\"ref_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveFromRefLink = async (\r\n refId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(`/links?reference_number=${refId}`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveLink\r\n * @property {string} linkId - The id of the payment link.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.retrieve(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(`/links/${linkId}`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module unarchiveLink\r\n * @property {string} linkId - ID of the link to archive.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.unarchive(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const unarchiveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.post(`/links/${linkId}/unarchive`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../utils/api-base\";\r\nimport { PaymentProps, PaymentResponse, CurrencyType } from \"./types\";\r\n\r\nconst defaultProps = {\r\n amount: 0,\r\n currency: \"PHP\" as CurrencyType,\r\n};\r\n\r\n/**\r\n * @module createPayment\r\n * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount.\r\n * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\r\n * @property {string} description - The description of the payment.\r\n * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space.\r\n * @property {object} source - The source of the payment.\r\n * @property {string} source.id - The id of the source.\r\n * @property {string} source.type - Type of a Source resource. Possible value is source\r\n * @returns {CreatePaymentResponse} - The payment data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"pk_test_key\");\r\n * const data = await client.payment.create({\r\n * amount: 10000,\r\n * currency: \"PHP\",\r\n * source: {\r\n * id: \"src_utfBfBav5fzXuJiJMDs7J6ye\",\r\n * type: \"source\",\r\n * },\r\n * statement_descriptor: \"Test Payment\",\r\n\t\t\tdescription: \"Test Payment\"\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createPayment = async ({\r\n amount = defaultProps.amount,\r\n currency = defaultProps.currency,\r\n source,\r\n description,\r\n statement_descriptor,\r\n}: PaymentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n currency,\r\n source,\r\n },\r\n };\r\n\r\n if (description) data.attributes.description = description;\r\n if (statement_descriptor)\r\n data.attributes.statement_descriptor = statement_descriptor;\r\n\r\n try {\r\n const res = await api.post(\"/payments\", { data });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../utils/api-base\";\nimport { PaymentResponse } from \"./types\";\n\n/**\n * @module retrievePayment\n * @property {string} paymentId - The id of the payment.\n * @returns {PaymentResponse} - The payment data.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * data = await client.payment.retrieve(\"payment_id\");\n * return data\n * }\n * ```\n */\nexport const retrievePayment = async (\n paymentId: string\n): Promise => {\n try {\n const res = await api.get(`/payments/${paymentId}`);\n return res.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../utils/api-base\";\nimport { ListPaymentResponse } from \"./types\";\n\n/**\n * @module listPayments\n * @returns {ListPaymentResponse} - The list of payment webhooks.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"sk_test_key\");\n * const webhooks = await client.payment.list();\n * return webhooks;\n * }\n * ```\n */\nexport const listPayments = async (): Promise => {\n try {\n const response = await api.get(\"/payments\");\n return response.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import { attachIntent, createIntent, retrieveIntent } from \"./payment/intent\";\nimport { createMethod, retrieveMethod } from \"./payment/method\";\nimport {\n createWebhook,\n disableWebhook,\n enableWebhook,\n listWebhooks,\n retrieveWebhook,\n updateWebhook,\n} from \"./payment/webhook\";\nimport { createSource, retrieveSource } from \"./payment/source\";\nimport {\n archiveLink,\n createLink,\n retrieveFromRefLink,\n retrieveLink,\n unarchiveLink,\n} from \"./payment/link\";\nimport { createPayment, retrievePayment, listPayments } from \"./payment\";\nimport { store } from \"./store\";\n\nexport * from \"./payment/types\";\n\nexport interface PaymongoClient {\n intent: {\n attach: typeof attachIntent;\n create: typeof createIntent;\n retrieve: typeof retrieveIntent;\n };\n method: {\n create: typeof createMethod;\n retrieve: typeof retrieveMethod;\n };\n webhook: {\n create: typeof createWebhook;\n disable: typeof disableWebhook;\n enable: typeof enableWebhook;\n list: typeof listWebhooks;\n retrieve: typeof retrieveWebhook;\n update: typeof updateWebhook;\n };\n source: {\n create: typeof createSource;\n retrieve: typeof retrieveSource;\n };\n link: {\n archive: typeof archiveLink;\n create: typeof createLink;\n retrieveFromRef: typeof retrieveFromRefLink;\n retrieve: typeof retrieveLink;\n unarchive: typeof unarchiveLink;\n };\n payment: {\n create: typeof createPayment;\n retrieve: typeof retrievePayment;\n list: typeof listPayments;\n };\n}\n\nexport type ClientFunction = (secretKey: string) => PaymongoClient;\n\n/**\n * @module PaymongoClient\n * @param secretKey - The secret key of your Paymongo account.\n * @returns {PaymongoClient} - The Paymongo client.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"sk_test_key\");\n * return client;\n * }\n * ```\n * @returns\n */\nconst PaymongoClient: ClientFunction = (secretKey: string) => {\n store.setState((state) => ({ ...state, secretKey }));\n\n return {\n intent: {\n attach: attachIntent,\n create: createIntent,\n retrieve: retrieveIntent,\n },\n method: {\n create: createMethod,\n retrieve: retrieveMethod,\n },\n webhook: {\n create: createWebhook,\n disable: disableWebhook,\n enable: enableWebhook,\n list: listWebhooks,\n retrieve: retrieveWebhook,\n update: updateWebhook,\n },\n source: {\n create: createSource,\n retrieve: retrieveSource,\n },\n link: {\n archive: archiveLink,\n create: createLink,\n retrieveFromRef: retrieveFromRefLink,\n retrieve: retrieveLink,\n unarchive: unarchiveLink,\n },\n payment: {\n create: createPayment,\n retrieve: retrievePayment,\n list: listPayments,\n },\n };\n};\n\nexport default PaymongoClient;\n"],"names":["undefined","config","BASE_URL","store","create","set","secretKey","setSecretKey","state","baseUrl","axiosInstance","axios","baseURL","headers","Accept","responseType","subscribe","defaults","auth","username","password","attachIntent","intentId","methodId","clientKey","returnUrl","data","attributes","payment_method","client_key","return_url","api","post","res","error","response","defaultProps","amount","paymentMethodAllowed","currency","request3DS","createIntent","description","statementDescriptor","metadata","payment_method_allowed","payment_method_options","card","request_three_d_secure","statement_descriptor","retrieveIntent","url","get","createMethod","details","type","billing","card_number","cardNumber","exp_month","expMonth","exp_year","expYear","cvc","retrieveMethod","createWebhook","events","disableWebhook","webhookId","enableWebhook","listWebhooks","retrieveWebhook","updateWebhook","put","createSource","redirect","retrieveSource","sourceId","archiveLink","linkId","createLink","remarks","retrieveFromRefLink","refId","retrieveLink","unarchiveLink","createPayment","source","retrievePayment","paymentId","listPayments","PaymongoClient","setState","intent","attach","retrieve","method","webhook","disable","enable","list","update","link","archive","retrieveFromRef","unarchive","payment"],"mappings":"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"} \ No newline at end of file diff --git a/dist/paymongo.js.cjs.production.min.js b/dist/paymongo.js.cjs.production.min.js deleted file mode 100644 index 8346a56..0000000 --- a/dist/paymongo.js.cjs.production.min.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("axios")),r=t(require("zustand/vanilla"));function n(t,e,r,n,a,o,u){try{var c=t[o](u),i=c.value}catch(t){return void r(t)}c.done?e(i):Promise.resolve(i).then(n,a)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(a,o){var u=t.apply(e,r);function c(t){n(u,a,o,c,i,"next",t)}function i(t){n(u,a,o,c,i,"throw",t)}c(void 0)}))}}function o(){return(o=Object.assign||function(t){for(var e=1;e=0;--a){var o=this.tryEntries[a],u=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),i=r.call(o,"finallyLoc");if(c&&i){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;k(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:L(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}(u={exports:{}}),u.exports),i=r((function(t){return{secretKey:"",setSecretKey:function(e){return t((function(t){return o({},t,{secretKey:e})}))}}})),s=e.create({baseURL:"https://api.paymongo.com/v1",headers:{"Content-type":"application/json",Accept:"application/json","Access-Control-Allow-Origin":"*"},responseType:"json"});i.subscribe((function(t){s.defaults.auth={username:t.secretKey,password:""}}));var p=function(){var t=a(c.mark((function t(e){var r,n,a,o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.intentId,a=e.returnUrl,o={attributes:{payment_method:e.methodId}},(n=e.clientKey)&&(o.attributes.client_key=n),a&&(o.attributes.return_url=a),t.prev=4,t.next=7,s.post("/payment_intents/"+r+"/attach",{data:o});case 7:return t.abrupt("return",t.sent.data);case 11:throw t.prev=11,t.t0=t.catch(4),t.t0.response.data;case 15:case"end":return t.stop()}}),t,null,[[4,11]])})));return function(e){return t.apply(this,arguments)}}(),h={amount:0,paymentMethodAllowed:["card","paymaya"],currency:"PHP",request3DS:"any"},f=function(){var t=a(c.mark((function t(e){var r,n,a,o,u,i,p,f;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=e.statementDescriptor,p=e.metadata,f={attributes:{amount:void 0===(r=e.amount)?h.amount:r,payment_method_allowed:void 0===(a=e.paymentMethodAllowed)?h.paymentMethodAllowed:a,payment_method_options:{card:{request_three_d_secure:void 0===(o=e.request3DS)?h.request3DS:o}},currency:void 0===(n=e.currency)?h.currency:n}},(u=e.description)&&(f.attributes.description=u),i&&(f.attributes.statement_descriptor=i),p&&(f.attributes.metadata=p),t.prev=5,t.next=8,s.post("/payment_intents",{data:f});case 8:return t.abrupt("return",t.sent.data);case 12:throw t.prev=12,t.t0=t.catch(5),t.t0.response.data;case 16:case"end":return t.stop()}}),t,null,[[5,12]])})));return function(e){return t.apply(this,arguments)}}(),l=function(){var t=a(c.mark((function t(e){var r,n,a;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.intentId,n=e.clientKey,t.prev=1,a="/payment_intents/"+r,n&&(a=a+"?client_key="+n),t.next=6,s.get(a);case 6:return t.abrupt("return",t.sent.data);case 10:throw t.prev=10,t.t0=t.catch(1),t.t0.response.data;case 14:case"end":return t.stop()}}),t,null,[[1,10]])})));return function(e){return t.apply(this,arguments)}}(),v=function(){var t=a(c.mark((function t(e){var r,n,a,o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.metadata,o={attributes:{details:{card_number:(r=e.details).cardNumber,exp_month:r.expMonth,exp_year:r.expYear,cvc:r.cvc},type:e.type}},(n=e.billing)&&(o.attributes.billing=n),a&&(o.attributes.metadata=a),t.prev=4,t.next=7,s.post("/payment_methods",{data:o});case 7:return t.abrupt("return",t.sent.data);case 11:throw t.prev=11,t.t0=t.catch(4),t.t0.response.data;case 15:case"end":return t.stop()}}),t,null,[[4,11]])})));return function(e){return t.apply(this,arguments)}}(),d=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/payment_methods/"+e);case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),y=function(){var t=a(c.mark((function t(e){var r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r={attributes:{url:e.url,events:e.events}},t.prev=2,t.next=5,s.post("/webhooks",{data:r});case 5:return t.abrupt("return",t.sent.data);case 9:throw t.prev=9,t.t0=t.catch(2),t.t0.response.data;case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),m=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.post("/webhooks/"+e+"/disable");case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),w=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.post("/webhooks/"+e+"/enable");case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),b=function(){var t=a(c.mark((function t(){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/webhooks");case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(){return t.apply(this,arguments)}}(),g=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/webhooks/"+e);case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),x=function(){var t=a(c.mark((function t(e){var r,n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.webhookId,n={attributes:{url:e.url,events:e.events}},t.prev=2,t.next=5,s.put("/webhooks/"+r,{data:n});case 5:return t.abrupt("return",t.sent.data);case 9:throw t.prev=9,t.t0=t.catch(2),t.t0.response.data;case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),k=function(){var t=a(c.mark((function t(e){var r,n,a,o,u;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return u={attributes:{amount:void 0===(r=e.amount)?0:r,redirect:e.redirect,type:void 0===(n=e.type)?"gcash":n,currency:void 0===(a=e.currency)?"PHP":a}},(o=e.billing)&&(u.attributes.billing=o),t.prev=3,t.next=6,s.post("/sources",{data:u});case 6:return t.abrupt("return",t.sent.data);case 10:throw t.prev=10,t.t0=t.catch(3),t.t0.response.data;case 14:case"end":return t.stop()}}),t,null,[[3,10]])})));return function(e){return t.apply(this,arguments)}}(),_=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/sources/"+e);case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),L=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.post("/links/"+e+"/archive");case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=a(c.mark((function t(e){var r,n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n={attributes:{amount:e.amount,description:e.description}},(r=e.remarks)&&(n.attributes.remarks=r),t.prev=3,t.next=6,s.post("/links",{data:n});case 6:return t.abrupt("return",t.sent.data);case 10:throw t.prev=10,t.t0=t.catch(3),t.t0.response.data;case 14:case"end":return t.stop()}}),t,null,[[3,10]])})));return function(e){return t.apply(this,arguments)}}(),j=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/links?reference_number="+e);case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),O=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/links/"+e);case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),P=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.post("/links/"+e+"/unarchive");case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),S=function(){var t=a(c.mark((function t(e){var r,n,a,o,u;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.statement_descriptor,u={attributes:{amount:void 0===(r=e.amount)?0:r,currency:void 0===(n=e.currency)?"PHP":n,source:e.source}},(a=e.description)&&(u.attributes.description=a),o&&(u.attributes.statement_descriptor=o),t.prev=4,t.next=7,s.post("/payments",{data:u});case 7:return t.abrupt("return",t.sent.data);case 11:throw t.prev=11,t.t0=t.catch(4),t.t0.response.data;case 15:case"end":return t.stop()}}),t,null,[[4,11]])})));return function(e){return t.apply(this,arguments)}}(),N=function(){var t=a(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/payments/"+e);case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}(),A=function(){var t=a(c.mark((function t(){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.get("/payments");case 3:return t.abrupt("return",t.sent.data);case 7:throw t.prev=7,t.t0=t.catch(0),t.t0.response.data;case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(){return t.apply(this,arguments)}}();exports.default=function(t){return i.setState((function(e){return o({},e,{secretKey:t})})),{intent:{attach:p,create:f,retrieve:l},method:{create:v,retrieve:d},webhook:{create:y,disable:m,enable:w,list:b,retrieve:g,update:x},source:{create:k,retrieve:_},link:{archive:L,create:E,retrieveFromRef:j,retrieve:O,unarchive:P},payment:{create:S,retrieve:N,list:A}}}; -//# sourceMappingURL=paymongo.js.cjs.production.min.js.map diff --git a/dist/paymongo.js.cjs.production.min.js.map b/dist/paymongo.js.cjs.production.min.js.map deleted file mode 100644 index dd233b8..0000000 --- a/dist/paymongo.js.cjs.production.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"paymongo.js.cjs.production.min.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/store/index.ts","../src/utils/api-base.ts","../src/config.ts","../src/payment/intent/attach-intent.ts","../src/payment/intent/create-intent.ts","../src/payment/intent/retrieve-intent.ts","../src/payment/method/create-method.ts","../src/payment/method/retrieve-method.ts","../src/payment/webhook/create-webhook.ts","../src/payment/webhook/disable-webhook.ts","../src/payment/webhook/enable-webhook.ts","../src/payment/webhook/list-webhooks.ts","../src/payment/webhook/retrieve-webhook.ts","../src/payment/webhook/update-webhook.ts","../src/payment/source/create-source.ts","../src/payment/source/retrieve-source.ts","../src/payment/link/archive-link.ts","../src/payment/link/create-link.ts","../src/payment/link/retrieve-from-ref-link.ts","../src/payment/link/retrieve-link.ts","../src/payment/link/unarchive-link.ts","../src/payment/create-payment.ts","../src/payment/retrieve-payment.ts","../src/payment/list-payments.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import create from \"zustand/vanilla\";\r\n\r\nexport interface AppStore {\r\n secretKey: string;\r\n setSecretKey: (secretKey: string) => void;\r\n}\r\n\r\nexport const store = create((set) => ({\r\n secretKey: \"\",\r\n setSecretKey: (secretKey) => set((state) => ({ ...state, secretKey })),\r\n}));\r\n","import axios from \"axios\";\r\nimport config from \"../config\";\r\nimport { store } from \"../store\";\r\n\r\nexport const baseUrl = config.BASE_URL;\r\n\r\nconst axiosInstance = axios.create({\r\n baseURL: baseUrl,\r\n headers: {\r\n \"Content-type\": \"application/json\",\r\n Accept: \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n },\r\n responseType: \"json\",\r\n});\r\n\r\nstore.subscribe((state) => {\r\n axiosInstance.defaults.auth = {\r\n username: state.secretKey,\r\n password: \"\",\r\n };\r\n});\r\n\r\nexport default axiosInstance;\r\n","const config = {\r\n BASE_URL: \"https://api.paymongo.com/v1\",\r\n};\r\n\r\nexport default config;\r\n","import api from \"../../utils/api-base\";\r\nimport { AttachPaymentIntentProps, AttachPaymentIntentResponse } from \"./types\";\r\n\r\n/**\r\n * @module attachIntent\r\n * @property {string} intentId - Id of PaymentIntent.\r\n * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent\r\n * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key.\r\n * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods.\r\n * @returns {AttachPaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.intent.attach({\r\n * intentId: intent.data.id,\r\n * methodId: method.data.id,\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const attachIntent = async ({\r\n intentId,\r\n methodId,\r\n clientKey,\r\n returnUrl,\r\n}: AttachPaymentIntentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n payment_method: methodId,\r\n },\r\n };\r\n\r\n if (clientKey) data.attributes.client_key = clientKey;\r\n if (returnUrl) data.attributes.return_url = returnUrl;\r\n\r\n try {\r\n const res = await api.post(\r\n `/payment_intents/${intentId}/attach`,\r\n { data }\r\n );\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentIntentResponse, CreatePaymentIntentProps } from \"./types\";\r\n\r\nconst defaultProps: CreatePaymentIntentProps = {\r\n amount: 0,\r\n paymentMethodAllowed: [\"card\", \"paymaya\"],\r\n currency: \"PHP\",\r\n request3DS: \"any\",\r\n};\r\n\r\n/**\r\n * @module createIntent\r\n * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050.\r\n * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now.\r\n * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card.\r\n * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\r\n * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint.\r\n * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space.\r\n * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted\r\n * @returns {PaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.intent.create({\r\n * amount: 10000,\r\n * metadata: {\r\n * order_id: \"abc123\",\r\n * },\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createIntent = async ({\r\n amount = defaultProps.amount,\r\n currency = defaultProps.currency,\r\n paymentMethodAllowed = defaultProps.paymentMethodAllowed,\r\n request3DS = defaultProps.request3DS,\r\n description,\r\n statementDescriptor,\r\n metadata,\r\n}: CreatePaymentIntentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n payment_method_allowed: paymentMethodAllowed,\r\n payment_method_options: {\r\n card: {\r\n request_three_d_secure: request3DS,\r\n },\r\n },\r\n currency,\r\n },\r\n };\r\n\r\n if (description) data.attributes.description = description;\r\n if (statementDescriptor)\r\n data.attributes.statement_descriptor = statementDescriptor;\r\n if (metadata) data.attributes.metadata = metadata;\r\n\r\n try {\r\n const res = await api.post(\"/payment_intents\", {\r\n data,\r\n });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentIntentResponse, RetrievePaymentIntentProps } from \"./types\";\r\n\r\n/**\r\n * @module retrieveIntent\r\n * @property {string} id - Id of the PaymentIntent.\r\n * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key.\r\n * @returns {PaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.intent.retrieve({\r\n * id: \"pi_key\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveIntent = async ({\r\n intentId,\r\n clientKey,\r\n}: RetrievePaymentIntentProps): Promise => {\r\n try {\r\n let url = `/payment_intents/${intentId}`;\r\n if (clientKey) url = `${url}?client_key=${clientKey}`;\r\n const res = await api.get(url);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { CreatePaymentMethodProps, PaymentMethodResponse } from \"./types\";\r\n\r\n/**\r\n * @module createPaymentMethod\r\n * @property {PaymentMethodDetails} details - The details of the payment method.\r\n * @property {string} type - The type of payment method. The possible values are card and paymaya for now.\r\n * @property {PaymentMethodBilling} billing - The billing details\r\n * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted.\r\n * @returns {PaymentMethodResponse} - The payment method data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.method.create({\r\n * details: {\r\n * cardNumber: \"4343434343434345\",\r\n * expMonth: 3,\r\n * expYear: 2023,\r\n * cvc: \"321\",\r\n * },\r\n * type: \"card\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createMethod = async ({\r\n details,\r\n type,\r\n billing,\r\n metadata,\r\n}: CreatePaymentMethodProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n details: {\r\n card_number: details.cardNumber,\r\n exp_month: details.expMonth,\r\n exp_year: details.expYear,\r\n cvc: details.cvc,\r\n },\r\n type,\r\n },\r\n };\r\n\r\n if (billing) data.attributes.billing = billing;\r\n if (metadata) data.attributes.metadata = metadata;\r\n\r\n try {\r\n const res = await api.post(\"/payment_methods\", {\r\n data,\r\n });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentMethodResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrievePaymentMethod\r\n * @property {string} id - The id of the payment method.\r\n * @returns {PaymentMethodResponse} - The payment method data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.method.retrieve(\"pm_key\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveMethod = async (\r\n methodId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(\r\n `/payment_methods/${methodId}`\r\n );\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { CreateWebhookProps, PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module createWebhook\r\n * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event.\r\n * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed.\r\n * @returns {PaymentWebhookResponse} - The payment webhook data. *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.create({\r\n * events: [\"payment.failed\", \"payment.paid\", \"source.chargeable\"],\r\n * url: \"https://example.com/webhook\",\r\n * });\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const createWebhook = async ({\r\n url,\r\n events,\r\n}: CreateWebhookProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n url,\r\n events,\r\n },\r\n };\r\n\r\n try {\r\n const response = await api.post(\"/webhooks\", {\r\n data,\r\n });\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module disableWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.disable(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const disableWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.post(\r\n `/webhooks/${webhookId}/disable`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module enableWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.enable(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const enableWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.post(\r\n `/webhooks/${webhookId}/enable`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module listWebhook\r\n * @returns {PaymentWebhookResponse[]} - The list of payment webhooks.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhooks = await client.webhook.list();\r\n * return webhooks;\r\n * }\r\n * ```\r\n */\r\nexport const listWebhooks = async (): Promise => {\r\n try {\r\n const response = await api.get(\"/webhooks\");\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.retrieve(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const retrieveWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.get(\r\n `/webhooks/${webhookId}`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { UpdateWebhookProps, PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module updateWebhook\r\n * @property {string} webhookId - The ID of the webhook to update.\r\n * @property {string} url - The webhook url\r\n * @property {string[]} events - The webhook events (\"source.chargeable\" | \"payment.paid\" | \"payment.failed\")\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.update({\r\n * webhookId: \"webhook_id\",\r\n * events: [\"payment.failed\", \"payment.paid\", \"source.chargeable\"],\r\n * url: \"https://example.com/webhook\",\r\n * });\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const updateWebhook = async ({\r\n webhookId,\r\n url,\r\n events,\r\n}: UpdateWebhookProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n url,\r\n events,\r\n },\r\n };\r\n\r\n try {\r\n const response = await api.put(\r\n `/webhooks/${webhookId}`,\r\n { data }\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\nimport { CurrencyType } from \"../types\";\nimport { PaymentSourceResponse, CreateSourceProps } from \"./types\";\n\nconst defaultProps = {\n amount: 0,\n type: \"gcash\",\n currency: \"PHP\",\n};\n\n/**\n * @module createSource\n * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create.\n * @property {RedirectType} redirect - redirect url for success and failed payment.\n * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay.\n * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\n * @property {BillingProps} billing - billing information of the payment source.\n * @returns {CreateSourceResponse} - The response of the create source request.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * const data = await client.source.create({\n * amount: 10000,\n * redirect: {\n * success: `http://localhost:3000/payments/success`,\n * failed: `http://localhost:3000/payments/error`,\n * },\n * type: \"gcash\",\n * currency: \"PHP\",\n * });\n *\n * return data\n * }\n * ```\n */\nexport const createSource = async ({\n amount = defaultProps.amount,\n type = defaultProps.type,\n currency = defaultProps.currency as CurrencyType,\n redirect,\n billing,\n}: CreateSourceProps): Promise => {\n const data: any = {\n attributes: {\n amount,\n redirect,\n type,\n currency,\n },\n };\n\n if (billing) data.attributes.billing = billing;\n\n try {\n const response = await api.post(\"/sources\", {\n data,\n });\n return response.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../../utils/api-base\";\nimport { PaymentSourceResponse } from \"./types\";\n\n/**\n * @module retrieveSource\n * @property {string} sourceId - The id of the payment source.\n * @returns {RetrieveSourceResponse} - The payment source data.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * data = await client.source.retrieve(\"source_id\");\n * return data\n * }\n * ```\n */\nexport const retrieveSource = async (\n sourceId: string\n): Promise => {\n try {\n const res = await api.get(`/sources/${sourceId}`);\n return res.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module archiveLink\r\n * @property {string} linkId - ID of the link to archive.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.archive(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const archiveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.post(`/links/${linkId}/archive`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse, CreatePaymentLinkProps } from \"./types\";\r\n\r\n/**\r\n * @module createLink\r\n * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050.\r\n * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser.\r\n * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.link.create({\r\n * amount: 10000,\r\n * description: \"Payment for order 123\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createLink = async ({\r\n amount,\r\n description,\r\n remarks,\r\n}: CreatePaymentLinkProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n description,\r\n },\r\n };\r\n\r\n if (remarks) data.attributes.remarks = remarks;\r\n\r\n try {\r\n const res = await api.post(\"/links\", { data });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { RetrieveFromRefResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveFromRefLink\r\n * @property {string} refId - The unique identifier of the PayMongo link checkout URL.\r\n * @returns {RetrieveFromRefResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.retrieveFromRef(\"ref_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveFromRefLink = async (\r\n refId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(`/links?reference_number=${refId}`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveLink\r\n * @property {string} linkId - The id of the payment link.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.retrieve(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(`/links/${linkId}`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module unarchiveLink\r\n * @property {string} linkId - ID of the link to archive.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.unarchive(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const unarchiveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.post(`/links/${linkId}/unarchive`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../utils/api-base\";\r\nimport { PaymentProps, PaymentResponse, CurrencyType } from \"./types\";\r\n\r\nconst defaultProps = {\r\n amount: 0,\r\n currency: \"PHP\" as CurrencyType,\r\n};\r\n\r\n/**\r\n * @module createPayment\r\n * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount.\r\n * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\r\n * @property {string} description - The description of the payment.\r\n * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space.\r\n * @property {object} source - The source of the payment.\r\n * @property {string} source.id - The id of the source.\r\n * @property {string} source.type - Type of a Source resource. Possible value is source\r\n * @returns {CreatePaymentResponse} - The payment data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"pk_test_key\");\r\n * const data = await client.payment.create({\r\n * amount: 10000,\r\n * currency: \"PHP\",\r\n * source: {\r\n * id: \"src_utfBfBav5fzXuJiJMDs7J6ye\",\r\n * type: \"source\",\r\n * },\r\n * statement_descriptor: \"Test Payment\",\r\n\t\t\tdescription: \"Test Payment\"\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createPayment = async ({\r\n amount = defaultProps.amount,\r\n currency = defaultProps.currency,\r\n source,\r\n description,\r\n statement_descriptor,\r\n}: PaymentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n currency,\r\n source,\r\n },\r\n };\r\n\r\n if (description) data.attributes.description = description;\r\n if (statement_descriptor)\r\n data.attributes.statement_descriptor = statement_descriptor;\r\n\r\n try {\r\n const res = await api.post(\"/payments\", { data });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../utils/api-base\";\nimport { PaymentResponse } from \"./types\";\n\n/**\n * @module retrievePayment\n * @property {string} paymentId - The id of the payment.\n * @returns {PaymentResponse} - The payment data.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * data = await client.payment.retrieve(\"payment_id\");\n * return data\n * }\n * ```\n */\nexport const retrievePayment = async (\n paymentId: string\n): Promise => {\n try {\n const res = await api.get(`/payments/${paymentId}`);\n return res.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../utils/api-base\";\nimport { ListPaymentResponse } from \"./types\";\n\n/**\n * @module listPayments\n * @returns {ListPaymentResponse} - The list of payment webhooks.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"sk_test_key\");\n * const webhooks = await client.payment.list();\n * return webhooks;\n * }\n * ```\n */\nexport const listPayments = async (): Promise => {\n try {\n const response = await api.get(\"/payments\");\n return response.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import { attachIntent, createIntent, retrieveIntent } from \"./payment/intent\";\nimport { createMethod, retrieveMethod } from \"./payment/method\";\nimport {\n createWebhook,\n disableWebhook,\n enableWebhook,\n listWebhooks,\n retrieveWebhook,\n updateWebhook,\n} from \"./payment/webhook\";\nimport { createSource, retrieveSource } from \"./payment/source\";\nimport {\n archiveLink,\n createLink,\n retrieveFromRefLink,\n retrieveLink,\n unarchiveLink,\n} from \"./payment/link\";\nimport { createPayment, retrievePayment, listPayments } from \"./payment\";\nimport { store } from \"./store\";\n\nexport * from \"./payment/types\";\n\nexport interface PaymongoClient {\n intent: {\n attach: typeof attachIntent;\n create: typeof createIntent;\n retrieve: typeof retrieveIntent;\n };\n method: {\n create: typeof createMethod;\n retrieve: typeof retrieveMethod;\n };\n webhook: {\n create: typeof createWebhook;\n disable: typeof disableWebhook;\n enable: typeof enableWebhook;\n list: typeof listWebhooks;\n retrieve: typeof retrieveWebhook;\n update: typeof updateWebhook;\n };\n source: {\n create: typeof createSource;\n retrieve: typeof retrieveSource;\n };\n link: {\n archive: typeof archiveLink;\n create: typeof createLink;\n retrieveFromRef: typeof retrieveFromRefLink;\n retrieve: typeof retrieveLink;\n unarchive: typeof unarchiveLink;\n };\n payment: {\n create: typeof createPayment;\n retrieve: typeof retrievePayment;\n list: typeof listPayments;\n };\n}\n\nexport type ClientFunction = (secretKey: string) => PaymongoClient;\n\n/**\n * @module PaymongoClient\n * @param secretKey - The secret key of your Paymongo account.\n * @returns {PaymongoClient} - The Paymongo client.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"sk_test_key\");\n * return client;\n * }\n * ```\n * @returns\n */\nconst PaymongoClient: ClientFunction = (secretKey: string) => {\n store.setState((state) => ({ ...state, secretKey }));\n\n return {\n intent: {\n attach: attachIntent,\n create: createIntent,\n retrieve: retrieveIntent,\n },\n method: {\n create: createMethod,\n retrieve: retrieveMethod,\n },\n webhook: {\n create: createWebhook,\n disable: disableWebhook,\n enable: enableWebhook,\n list: listWebhooks,\n retrieve: retrieveWebhook,\n update: updateWebhook,\n },\n source: {\n create: createSource,\n retrieve: retrieveSource,\n },\n link: {\n archive: archiveLink,\n create: createLink,\n retrieveFromRef: retrieveFromRefLink,\n retrieve: retrieveLink,\n unarchive: unarchiveLink,\n },\n payment: {\n create: createPayment,\n retrieve: retrievePayment,\n list: listPayments,\n },\n };\n};\n\nexport default PaymongoClient;\n"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","generator","create","Generator","context","Context","_invoke","state","method","arg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","globalThis","Function","store","set","secretKey","setSecretKey","axiosInstance","axios","baseURL","headers","Accept","responseType","subscribe","defaults","auth","username","password","attachIntent","intentId","returnUrl","data","attributes","payment_method","methodId","clientKey","client_key","return_url","api","post","response","defaultProps","amount","paymentMethodAllowed","currency","request3DS","createIntent","statementDescriptor","metadata","payment_method_allowed","payment_method_options","card","request_three_d_secure","description","statement_descriptor","retrieveIntent","url","get","createMethod","details","card_number","cardNumber","exp_month","expMonth","exp_year","expYear","cvc","billing","retrieveMethod","createWebhook","events","disableWebhook","webhookId","enableWebhook","listWebhooks","retrieveWebhook","updateWebhook","put","createSource","redirect","retrieveSource","sourceId","archiveLink","linkId","createLink","remarks","retrieveFromRefLink","refId","retrieveLink","unarchiveLink","createPayment","source","retrievePayment","paymentId","listPayments","setState","intent","attach","retrieve","webhook","disable","enable","list","update","link","archive","retrieveFromRef","unarchive","payment"],"mappings":"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"} \ No newline at end of file diff --git a/dist/paymongo.js.esm.js b/dist/paymongo.js.esm.js deleted file mode 100644 index fe37f81..0000000 --- a/dist/paymongo.js.esm.js +++ /dev/null @@ -1,2172 +0,0 @@ -import axios from 'axios'; -import create from 'zustand/vanilla'; - -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} - -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - - _next(undefined); - }); - }; -} - -function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - return _extends.apply(this, arguments); -} - -function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; -} - -var runtime_1 = createCommonjsModule(function (module) { -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -var runtime = (function (exports) { - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined$1; // More compressible than void 0. - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - function define(obj, key, value) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - return obj[key]; - } - try { - // IE 8 has a broken Object.defineProperty that only works on DOM objects. - define({}, ""); - } catch (err) { - define = function(obj, key, value) { - return obj[key] = value; - }; - } - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); - - // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - generator._invoke = makeInvokeMethod(innerFn, self, context); - - return generator; - } - exports.wrap = wrap; - - // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - function tryCatch(fn, obj, arg) { - try { - return { type: "normal", arg: fn.call(obj, arg) }; - } catch (err) { - return { type: "throw", arg: err }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; - - // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - var ContinueSentinel = {}; - - // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - - // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - var IteratorPrototype = {}; - define(IteratorPrototype, iteratorSymbol, function () { - return this; - }); - - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - if (NativeIteratorPrototype && - NativeIteratorPrototype !== Op && - hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = - Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = GeneratorFunctionPrototype; - define(Gp, "constructor", GeneratorFunctionPrototype); - define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); - GeneratorFunction.displayName = define( - GeneratorFunctionPrototype, - toStringTagSymbol, - "GeneratorFunction" - ); - - // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function(method) { - define(prototype, method, function(arg) { - return this._invoke(method, arg); - }); - }); - } - - exports.isGeneratorFunction = function(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor - ? ctor === GeneratorFunction || - // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" - : false; - }; - - exports.mark = function(genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - define(genFun, toStringTagSymbol, "GeneratorFunction"); - } - genFun.prototype = Object.create(Gp); - return genFun; - }; - - // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - exports.awrap = function(arg) { - return { __await: arg }; - }; - - function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - if (value && - typeof value === "object" && - hasOwn.call(value, "__await")) { - return PromiseImpl.resolve(value.__await).then(function(value) { - invoke("next", value, resolve, reject); - }, function(err) { - invoke("throw", err, resolve, reject); - }); - } - - return PromiseImpl.resolve(value).then(function(unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function(error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); - }); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function(resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = - // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then( - callInvokeWithMethodAndArg, - // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg - ) : callInvokeWithMethodAndArg(); - } - - // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - define(AsyncIterator.prototype, asyncIteratorSymbol, function () { - return this; - }); - exports.AsyncIterator = AsyncIterator; - - // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { - if (PromiseImpl === void 0) PromiseImpl = Promise; - - var iter = new AsyncIterator( - wrap(innerFn, outerFn, self, tryLocsList), - PromiseImpl - ); - - return exports.isGeneratorFunction(outerFn) - ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function(result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } - - // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done - ? GenStateCompleted - : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - - } else if (record.type === "throw") { - state = GenStateCompleted; - // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } - - // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (method === undefined$1) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - // Note: ["return"] must be used for ES3 parsing compatibility. - if (delegate.iterator["return"]) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined$1; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError( - "The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (! info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; - - // Resume execution at the desired location (see delegateYield). - context.next = delegate.nextLoc; - - // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined$1; - } - - } else { - // Re-yield the result returned by the delegate method. - return info; - } - - // The delegate iterator is finished, so forget it and continue with - // the outer generator. - context.delegate = null; - return ContinueSentinel; - } - - // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - defineIteratorMethods(Gp); - - define(Gp, toStringTagSymbol, "Generator"); - - // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - define(Gp, iteratorSymbol, function() { - return this; - }); - - define(Gp, "toString", function() { - return "[object Generator]"; - }); - - function pushTryEntry(locs) { - var entry = { tryLoc: locs[0] }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ tryLoc: "root" }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - exports.keys = function(object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - keys.reverse(); - - // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - return function next() { - while (keys.length) { - var key = keys.pop(); - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } - - // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined$1; - next.done = true; - - return next; - }; - - return next.next = next; - } - } - - // Return an iterator with no values. - return { next: doneResult }; - } - exports.values = values; - - function doneResult() { - return { value: undefined$1, done: true }; - } - - Context.prototype = { - constructor: Context, - - reset: function(skipTempReset) { - this.prev = 0; - this.next = 0; - // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - this.sent = this._sent = undefined$1; - this.done = false; - this.delegate = null; - - this.method = "next"; - this.arg = undefined$1; - - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && - hasOwn.call(this, name) && - !isNaN(+name.slice(1))) { - this[name] = undefined$1; - } - } - } - }, - - stop: function() { - this.done = true; - - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - - dispatchException: function(exception) { - if (this.done) { - throw exception; - } - - var context = this; - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined$1; - } - - return !! caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - - abrupt: function(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && - hasOwn.call(entry, "finallyLoc") && - this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && - (type === "break" || - type === "continue") && - finallyEntry.tryLoc <= arg && - arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - - complete: function(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || - record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - - finish: function(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - - "catch": function(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; - } - } - - // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - throw new Error("illegal catch attempt"); - }, - - delegateYield: function(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined$1; - } - - return ContinueSentinel; - } - }; - - // Regardless of whether this script is executing as a CommonJS module - // or not, return the runtime object so that we can declare the variable - // regeneratorRuntime in the outer scope, which allows this module to be - // injected easily by `bin/regenerator --include-runtime script.js`. - return exports; - -}( - // If this script is executing as a CommonJS module, use module.exports - // as the regeneratorRuntime namespace. Otherwise create a new empty - // object. Either way, the resulting object will be used to initialize - // the regeneratorRuntime variable at the top of this file. - module.exports -)); - -try { - regeneratorRuntime = runtime; -} catch (accidentalStrictMode) { - // This module should not be running in strict mode, so the above - // assignment should always work unless something is misconfigured. Just - // in case runtime.js accidentally runs in strict mode, in modern engines - // we can explicitly access globalThis. In older engines we can escape - // strict mode using a global Function call. This could conceivably fail - // if a Content Security Policy forbids using Function, but in that case - // the proper solution is to fix the accidental strict mode problem. If - // you've misconfigured your bundler to force strict mode and applied a - // CSP to forbid Function, and you're not willing to fix either of those - // problems, please detail your unique predicament in a GitHub issue. - if (typeof globalThis === "object") { - globalThis.regeneratorRuntime = runtime; - } else { - Function("r", "regeneratorRuntime = r")(runtime); - } -} -}); - -var config = { - BASE_URL: "https://api.paymongo.com/v1" -}; - -var store = /*#__PURE__*/create(function (set) { - return { - secretKey: "", - setSecretKey: function setSecretKey(secretKey) { - return set(function (state) { - return _extends({}, state, { - secretKey: secretKey - }); - }); - } - }; -}); - -var baseUrl = config.BASE_URL; -var axiosInstance = /*#__PURE__*/axios.create({ - baseURL: baseUrl, - headers: { - "Content-type": "application/json", - Accept: "application/json", - "Access-Control-Allow-Origin": "*" - }, - responseType: "json" -}); -store.subscribe(function (state) { - axiosInstance.defaults.auth = { - username: state.secretKey, - password: "" - }; -}); - -/** - * @module attachIntent - * @property {string} intentId - Id of PaymentIntent. - * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key. - * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods. - * @returns {AttachPaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.attach({ - * intentId: intent.data.id, - * methodId: method.data.id, - * }); - * return data - * } - * ``` - */ - -var attachIntent = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var intentId, methodId, clientKey, returnUrl, data, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - intentId = _ref.intentId, methodId = _ref.methodId, clientKey = _ref.clientKey, returnUrl = _ref.returnUrl; - data = { - attributes: { - payment_method: methodId - } - }; - if (clientKey) data.attributes.client_key = clientKey; - if (returnUrl) data.attributes.return_url = returnUrl; - _context.prev = 4; - _context.next = 7; - return axiosInstance.post("/payment_intents/" + intentId + "/attach", { - data: data - }); - - case 7: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](4); - error = _context.t0; - throw error.response.data; - - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 11]]); - })); - - return function attachIntent(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -var defaultProps = { - amount: 0, - paymentMethodAllowed: ["card", "paymaya"], - currency: "PHP", - request3DS: "any" -}; -/** - * @module createIntent - * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now. - * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint. - * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.intent.create({ - * amount: 10000, - * metadata: { - * order_id: "abc123", - * }, - * }); - * return data - * } - * ``` - */ - -var createIntent = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var _ref$amount, amount, _ref$currency, currency, _ref$paymentMethodAll, paymentMethodAllowed, _ref$request3DS, request3DS, description, statementDescriptor, metadata, data, res, error; - - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? defaultProps.amount : _ref$amount, _ref$currency = _ref.currency, currency = _ref$currency === void 0 ? defaultProps.currency : _ref$currency, _ref$paymentMethodAll = _ref.paymentMethodAllowed, paymentMethodAllowed = _ref$paymentMethodAll === void 0 ? defaultProps.paymentMethodAllowed : _ref$paymentMethodAll, _ref$request3DS = _ref.request3DS, request3DS = _ref$request3DS === void 0 ? defaultProps.request3DS : _ref$request3DS, description = _ref.description, statementDescriptor = _ref.statementDescriptor, metadata = _ref.metadata; - data = { - attributes: { - amount: amount, - payment_method_allowed: paymentMethodAllowed, - payment_method_options: { - card: { - request_three_d_secure: request3DS - } - }, - currency: currency - } - }; - if (description) data.attributes.description = description; - if (statementDescriptor) data.attributes.statement_descriptor = statementDescriptor; - if (metadata) data.attributes.metadata = metadata; - _context.prev = 5; - _context.next = 8; - return axiosInstance.post("/payment_intents", { - data: data - }); - - case 8: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 12: - _context.prev = 12; - _context.t0 = _context["catch"](5); - error = _context.t0; - throw error.response.data; - - case 16: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[5, 12]]); - })); - - return function createIntent(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrieveIntent - * @property {string} id - Id of the PaymentIntent. - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key. - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.retrieve({ - * id: "pi_key", - * }); - * return data - * } - * ``` - */ - -var retrieveIntent = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var intentId, clientKey, url, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - intentId = _ref.intentId, clientKey = _ref.clientKey; - _context.prev = 1; - url = "/payment_intents/" + intentId; - if (clientKey) url = url + "?client_key=" + clientKey; - _context.next = 6; - return axiosInstance.get(url); - - case 6: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](1); - error = _context.t0; - throw error.response.data; - - case 14: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[1, 10]]); - })); - - return function retrieveIntent(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module createPaymentMethod - * @property {PaymentMethodDetails} details - The details of the payment method. - * @property {string} type - The type of payment method. The possible values are card and paymaya for now. - * @property {PaymentMethodBilling} billing - The billing details - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.method.create({ - * details: { - * cardNumber: "4343434343434345", - * expMonth: 3, - * expYear: 2023, - * cvc: "321", - * }, - * type: "card", - * }); - * return data - * } - * ``` - */ - -var createMethod = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var details, type, billing, metadata, data, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - details = _ref.details, type = _ref.type, billing = _ref.billing, metadata = _ref.metadata; - data = { - attributes: { - details: { - card_number: details.cardNumber, - exp_month: details.expMonth, - exp_year: details.expYear, - cvc: details.cvc - }, - type: type - } - }; - if (billing) data.attributes.billing = billing; - if (metadata) data.attributes.metadata = metadata; - _context.prev = 4; - _context.next = 7; - return axiosInstance.post("/payment_methods", { - data: data - }); - - case 7: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](4); - error = _context.t0; - throw error.response.data; - - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 11]]); - })); - - return function createMethod(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrievePaymentMethod - * @property {string} id - The id of the payment method. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.method.retrieve("pm_key"); - * return data - * } - * ``` - */ - -var retrieveMethod = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(methodId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/payment_methods/" + methodId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveMethod(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module createWebhook - * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event. - * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed. - * @returns {PaymentWebhookResponse} - The payment webhook data. * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.create({ - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ - -var createWebhook = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var url, events, data, response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - url = _ref.url, events = _ref.events; - data = { - attributes: { - url: url, - events: events - } - }; - _context.prev = 2; - _context.next = 5; - return axiosInstance.post("/webhooks", { - data: data - }); - - case 5: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 9: - _context.prev = 9; - _context.t0 = _context["catch"](2); - error = _context.t0; - throw error.response.data; - - case 13: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[2, 9]]); - })); - - return function createWebhook(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module disableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.disable("webhook_id"); - * return webhook; - * } - * ``` - */ - -var disableWebhook = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(webhookId) { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/webhooks/" + webhookId + "/disable"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function disableWebhook(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module enableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.enable("webhook_id"); - * return webhook; - * } - * ``` - */ - -var enableWebhook = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(webhookId) { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/webhooks/" + webhookId + "/enable"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function enableWebhook(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module listWebhook - * @returns {PaymentWebhookResponse[]} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.webhook.list(); - * return webhooks; - * } - * ``` - */ - -var listWebhooks = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/webhooks"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function listWebhooks() { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module retrieveWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.retrieve("webhook_id"); - * return webhook; - * } - * ``` - */ - -var retrieveWebhook = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(webhookId) { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/webhooks/" + webhookId); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveWebhook(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module updateWebhook - * @property {string} webhookId - The ID of the webhook to update. - * @property {string} url - The webhook url - * @property {string[]} events - The webhook events ("source.chargeable" | "payment.paid" | "payment.failed") - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.update({ - * webhookId: "webhook_id", - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ - -var updateWebhook = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var webhookId, url, events, data, response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - webhookId = _ref.webhookId, url = _ref.url, events = _ref.events; - data = { - attributes: { - url: url, - events: events - } - }; - _context.prev = 2; - _context.next = 5; - return axiosInstance.put("/webhooks/" + webhookId, { - data: data - }); - - case 5: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 9: - _context.prev = 9; - _context.t0 = _context["catch"](2); - error = _context.t0; - throw error.response.data; - - case 13: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[2, 9]]); - })); - - return function updateWebhook(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -var defaultProps$1 = { - amount: 0, - type: "gcash", - currency: "PHP" -}; -/** - * @module createSource - * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create. - * @property {RedirectType} redirect - redirect url for success and failed payment. - * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay. - * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {BillingProps} billing - billing information of the payment source. - * @returns {CreateSourceResponse} - The response of the create source request. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.source.create({ - * amount: 10000, - * redirect: { - * success: `http://localhost:3000/payments/success`, - * failed: `http://localhost:3000/payments/error`, - * }, - * type: "gcash", - * currency: "PHP", - * }); - * - * return data - * } - * ``` - */ - -var createSource = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var _ref$amount, amount, _ref$type, type, _ref$currency, currency, redirect, billing, data, response, error; - - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? defaultProps$1.amount : _ref$amount, _ref$type = _ref.type, type = _ref$type === void 0 ? defaultProps$1.type : _ref$type, _ref$currency = _ref.currency, currency = _ref$currency === void 0 ? defaultProps$1.currency : _ref$currency, redirect = _ref.redirect, billing = _ref.billing; - data = { - attributes: { - amount: amount, - redirect: redirect, - type: type, - currency: currency - } - }; - if (billing) data.attributes.billing = billing; - _context.prev = 3; - _context.next = 6; - return axiosInstance.post("/sources", { - data: data - }); - - case 6: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](3); - error = _context.t0; - throw error.response.data; - - case 14: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[3, 10]]); - })); - - return function createSource(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrieveSource - * @property {string} sourceId - The id of the payment source. - * @returns {RetrieveSourceResponse} - The payment source data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.source.retrieve("source_id"); - * return data - * } - * ``` - */ - -var retrieveSource = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(sourceId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/sources/" + sourceId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveSource(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module archiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.archive("link_id"); - * return data - * } - * ``` - */ - -var archiveLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(linkId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/links/" + linkId + "/archive"); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function archiveLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module createLink - * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser. - * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.link.create({ - * amount: 10000, - * description: "Payment for order 123", - * }); - * return data - * } - * ``` - */ - -var createLink = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var amount, description, remarks, data, res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - amount = _ref.amount, description = _ref.description, remarks = _ref.remarks; - data = { - attributes: { - amount: amount, - description: description - } - }; - if (remarks) data.attributes.remarks = remarks; - _context.prev = 3; - _context.next = 6; - return axiosInstance.post("/links", { - data: data - }); - - case 6: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](3); - error = _context.t0; - throw error.response.data; - - case 14: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[3, 10]]); - })); - - return function createLink(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrieveFromRefLink - * @property {string} refId - The unique identifier of the PayMongo link checkout URL. - * @returns {RetrieveFromRefResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieveFromRef("ref_id"); - * return data - * } - * ``` - */ - -var retrieveFromRefLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(refId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/links?reference_number=" + refId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveFromRefLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module retrieveLink - * @property {string} linkId - The id of the payment link. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieve("link_id"); - * return data - * } - * ``` - */ - -var retrieveLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(linkId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/links/" + linkId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrieveLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module unarchiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.unarchive("link_id"); - * return data - * } - * ``` - */ - -var unarchiveLink = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(linkId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.post("/links/" + linkId + "/unarchive"); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function unarchiveLink(_x) { - return _ref.apply(this, arguments); - }; -}(); - -var defaultProps$2 = { - amount: 0, - currency: "PHP" -}; -/** - * @module createPayment - * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - The description of the payment. - * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {object} source - The source of the payment. - * @property {string} source.id - The id of the source. - * @property {string} source.type - Type of a Source resource. Possible value is source - * @returns {CreatePaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.payment.create({ - * amount: 10000, - * currency: "PHP", - * source: { - * id: "src_utfBfBav5fzXuJiJMDs7J6ye", - * type: "source", - * }, - * statement_descriptor: "Test Payment", - description: "Test Payment" - * }); - * return data - * } - * ``` - */ - -var createPayment = /*#__PURE__*/function () { - var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) { - var _ref$amount, amount, _ref$currency, currency, source, description, statement_descriptor, data, res, error; - - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? defaultProps$2.amount : _ref$amount, _ref$currency = _ref.currency, currency = _ref$currency === void 0 ? defaultProps$2.currency : _ref$currency, source = _ref.source, description = _ref.description, statement_descriptor = _ref.statement_descriptor; - data = { - attributes: { - amount: amount, - currency: currency, - source: source - } - }; - if (description) data.attributes.description = description; - if (statement_descriptor) data.attributes.statement_descriptor = statement_descriptor; - _context.prev = 4; - _context.next = 7; - return axiosInstance.post("/payments", { - data: data - }); - - case 7: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](4); - error = _context.t0; - throw error.response.data; - - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 11]]); - })); - - return function createPayment(_x) { - return _ref2.apply(this, arguments); - }; -}(); - -/** - * @module retrievePayment - * @property {string} paymentId - The id of the payment. - * @returns {PaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.payment.retrieve("payment_id"); - * return data - * } - * ``` - */ - -var retrievePayment = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(paymentId) { - var res, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/payments/" + paymentId); - - case 3: - res = _context.sent; - return _context.abrupt("return", res.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function retrievePayment(_x) { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module listPayments - * @returns {ListPaymentResponse} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.payment.list(); - * return webhooks; - * } - * ``` - */ - -var listPayments = /*#__PURE__*/function () { - var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() { - var response, error; - return runtime_1.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return axiosInstance.get("/payments"); - - case 3: - response = _context.sent; - return _context.abrupt("return", response.data); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - error = _context.t0; - throw error.response.data; - - case 11: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - return function listPayments() { - return _ref.apply(this, arguments); - }; -}(); - -/** - * @module PaymongoClient - * @param secretKey - The secret key of your Paymongo account. - * @returns {PaymongoClient} - The Paymongo client. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * return client; - * } - * ``` - * @returns - */ - -var PaymongoClient = function PaymongoClient(secretKey) { - store.setState(function (state) { - return _extends({}, state, { - secretKey: secretKey - }); - }); - return { - intent: { - attach: attachIntent, - create: createIntent, - retrieve: retrieveIntent - }, - method: { - create: createMethod, - retrieve: retrieveMethod - }, - webhook: { - create: createWebhook, - disable: disableWebhook, - enable: enableWebhook, - list: listWebhooks, - retrieve: retrieveWebhook, - update: updateWebhook - }, - source: { - create: createSource, - retrieve: retrieveSource - }, - link: { - archive: archiveLink, - create: createLink, - retrieveFromRef: retrieveFromRefLink, - retrieve: retrieveLink, - unarchive: unarchiveLink - }, - payment: { - create: createPayment, - retrieve: retrievePayment, - list: listPayments - } - }; -}; - -export default PaymongoClient; -//# sourceMappingURL=paymongo.js.esm.js.map diff --git a/dist/paymongo.js.esm.js.map b/dist/paymongo.js.esm.js.map deleted file mode 100644 index a234f53..0000000 --- a/dist/paymongo.js.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"paymongo.js.esm.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/config.ts","../src/store/index.ts","../src/utils/api-base.ts","../src/payment/intent/attach-intent.ts","../src/payment/intent/create-intent.ts","../src/payment/intent/retrieve-intent.ts","../src/payment/method/create-method.ts","../src/payment/method/retrieve-method.ts","../src/payment/webhook/create-webhook.ts","../src/payment/webhook/disable-webhook.ts","../src/payment/webhook/enable-webhook.ts","../src/payment/webhook/list-webhooks.ts","../src/payment/webhook/retrieve-webhook.ts","../src/payment/webhook/update-webhook.ts","../src/payment/source/create-source.ts","../src/payment/source/retrieve-source.ts","../src/payment/link/archive-link.ts","../src/payment/link/create-link.ts","../src/payment/link/retrieve-from-ref-link.ts","../src/payment/link/retrieve-link.ts","../src/payment/link/unarchive-link.ts","../src/payment/create-payment.ts","../src/payment/retrieve-payment.ts","../src/payment/list-payments.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","const config = {\r\n BASE_URL: \"https://api.paymongo.com/v1\",\r\n};\r\n\r\nexport default config;\r\n","import create from \"zustand/vanilla\";\r\n\r\nexport interface AppStore {\r\n secretKey: string;\r\n setSecretKey: (secretKey: string) => void;\r\n}\r\n\r\nexport const store = create((set) => ({\r\n secretKey: \"\",\r\n setSecretKey: (secretKey) => set((state) => ({ ...state, secretKey })),\r\n}));\r\n","import axios from \"axios\";\r\nimport config from \"../config\";\r\nimport { store } from \"../store\";\r\n\r\nexport const baseUrl = config.BASE_URL;\r\n\r\nconst axiosInstance = axios.create({\r\n baseURL: baseUrl,\r\n headers: {\r\n \"Content-type\": \"application/json\",\r\n Accept: \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n },\r\n responseType: \"json\",\r\n});\r\n\r\nstore.subscribe((state) => {\r\n axiosInstance.defaults.auth = {\r\n username: state.secretKey,\r\n password: \"\",\r\n };\r\n});\r\n\r\nexport default axiosInstance;\r\n","import api from \"../../utils/api-base\";\r\nimport { AttachPaymentIntentProps, AttachPaymentIntentResponse } from \"./types\";\r\n\r\n/**\r\n * @module attachIntent\r\n * @property {string} intentId - Id of PaymentIntent.\r\n * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent\r\n * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key.\r\n * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods.\r\n * @returns {AttachPaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.intent.attach({\r\n * intentId: intent.data.id,\r\n * methodId: method.data.id,\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const attachIntent = async ({\r\n intentId,\r\n methodId,\r\n clientKey,\r\n returnUrl,\r\n}: AttachPaymentIntentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n payment_method: methodId,\r\n },\r\n };\r\n\r\n if (clientKey) data.attributes.client_key = clientKey;\r\n if (returnUrl) data.attributes.return_url = returnUrl;\r\n\r\n try {\r\n const res = await api.post(\r\n `/payment_intents/${intentId}/attach`,\r\n { data }\r\n );\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentIntentResponse, CreatePaymentIntentProps } from \"./types\";\r\n\r\nconst defaultProps: CreatePaymentIntentProps = {\r\n amount: 0,\r\n paymentMethodAllowed: [\"card\", \"paymaya\"],\r\n currency: \"PHP\",\r\n request3DS: \"any\",\r\n};\r\n\r\n/**\r\n * @module createIntent\r\n * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050.\r\n * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now.\r\n * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card.\r\n * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\r\n * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint.\r\n * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space.\r\n * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted\r\n * @returns {PaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.intent.create({\r\n * amount: 10000,\r\n * metadata: {\r\n * order_id: \"abc123\",\r\n * },\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createIntent = async ({\r\n amount = defaultProps.amount,\r\n currency = defaultProps.currency,\r\n paymentMethodAllowed = defaultProps.paymentMethodAllowed,\r\n request3DS = defaultProps.request3DS,\r\n description,\r\n statementDescriptor,\r\n metadata,\r\n}: CreatePaymentIntentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n payment_method_allowed: paymentMethodAllowed,\r\n payment_method_options: {\r\n card: {\r\n request_three_d_secure: request3DS,\r\n },\r\n },\r\n currency,\r\n },\r\n };\r\n\r\n if (description) data.attributes.description = description;\r\n if (statementDescriptor)\r\n data.attributes.statement_descriptor = statementDescriptor;\r\n if (metadata) data.attributes.metadata = metadata;\r\n\r\n try {\r\n const res = await api.post(\"/payment_intents\", {\r\n data,\r\n });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentIntentResponse, RetrievePaymentIntentProps } from \"./types\";\r\n\r\n/**\r\n * @module retrieveIntent\r\n * @property {string} id - Id of the PaymentIntent.\r\n * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key.\r\n * @returns {PaymentIntentResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.intent.retrieve({\r\n * id: \"pi_key\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveIntent = async ({\r\n intentId,\r\n clientKey,\r\n}: RetrievePaymentIntentProps): Promise => {\r\n try {\r\n let url = `/payment_intents/${intentId}`;\r\n if (clientKey) url = `${url}?client_key=${clientKey}`;\r\n const res = await api.get(url);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { CreatePaymentMethodProps, PaymentMethodResponse } from \"./types\";\r\n\r\n/**\r\n * @module createPaymentMethod\r\n * @property {PaymentMethodDetails} details - The details of the payment method.\r\n * @property {string} type - The type of payment method. The possible values are card and paymaya for now.\r\n * @property {PaymentMethodBilling} billing - The billing details\r\n * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted.\r\n * @returns {PaymentMethodResponse} - The payment method data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.method.create({\r\n * details: {\r\n * cardNumber: \"4343434343434345\",\r\n * expMonth: 3,\r\n * expYear: 2023,\r\n * cvc: \"321\",\r\n * },\r\n * type: \"card\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createMethod = async ({\r\n details,\r\n type,\r\n billing,\r\n metadata,\r\n}: CreatePaymentMethodProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n details: {\r\n card_number: details.cardNumber,\r\n exp_month: details.expMonth,\r\n exp_year: details.expYear,\r\n cvc: details.cvc,\r\n },\r\n type,\r\n },\r\n };\r\n\r\n if (billing) data.attributes.billing = billing;\r\n if (metadata) data.attributes.metadata = metadata;\r\n\r\n try {\r\n const res = await api.post(\"/payment_methods\", {\r\n data,\r\n });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentMethodResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrievePaymentMethod\r\n * @property {string} id - The id of the payment method.\r\n * @returns {PaymentMethodResponse} - The payment method data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.method.retrieve(\"pm_key\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveMethod = async (\r\n methodId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(\r\n `/payment_methods/${methodId}`\r\n );\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { CreateWebhookProps, PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module createWebhook\r\n * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event.\r\n * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed.\r\n * @returns {PaymentWebhookResponse} - The payment webhook data. *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.create({\r\n * events: [\"payment.failed\", \"payment.paid\", \"source.chargeable\"],\r\n * url: \"https://example.com/webhook\",\r\n * });\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const createWebhook = async ({\r\n url,\r\n events,\r\n}: CreateWebhookProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n url,\r\n events,\r\n },\r\n };\r\n\r\n try {\r\n const response = await api.post(\"/webhooks\", {\r\n data,\r\n });\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module disableWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.disable(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const disableWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.post(\r\n `/webhooks/${webhookId}/disable`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module enableWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.enable(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const enableWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.post(\r\n `/webhooks/${webhookId}/enable`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module listWebhook\r\n * @returns {PaymentWebhookResponse[]} - The list of payment webhooks.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhooks = await client.webhook.list();\r\n * return webhooks;\r\n * }\r\n * ```\r\n */\r\nexport const listWebhooks = async (): Promise => {\r\n try {\r\n const response = await api.get(\"/webhooks\");\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveWebhook\r\n * @property {string} webhookId - The webhook id\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.retrieve(\"webhook_id\");\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const retrieveWebhook = async (\r\n webhookId: string\r\n): Promise => {\r\n try {\r\n const response = await api.get(\r\n `/webhooks/${webhookId}`\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { UpdateWebhookProps, PaymentWebhookResponse } from \"./types\";\r\n\r\n/**\r\n * @module updateWebhook\r\n * @property {string} webhookId - The ID of the webhook to update.\r\n * @property {string} url - The webhook url\r\n * @property {string[]} events - The webhook events (\"source.chargeable\" | \"payment.paid\" | \"payment.failed\")\r\n * @returns {PaymentWebhookResponse} - The payment webhook data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const webhook = await client.webhook.update({\r\n * webhookId: \"webhook_id\",\r\n * events: [\"payment.failed\", \"payment.paid\", \"source.chargeable\"],\r\n * url: \"https://example.com/webhook\",\r\n * });\r\n * return webhook;\r\n * }\r\n * ```\r\n */\r\nexport const updateWebhook = async ({\r\n webhookId,\r\n url,\r\n events,\r\n}: UpdateWebhookProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n url,\r\n events,\r\n },\r\n };\r\n\r\n try {\r\n const response = await api.put(\r\n `/webhooks/${webhookId}`,\r\n { data }\r\n );\r\n return response.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\nimport { CurrencyType } from \"../types\";\nimport { PaymentSourceResponse, CreateSourceProps } from \"./types\";\n\nconst defaultProps = {\n amount: 0,\n type: \"gcash\",\n currency: \"PHP\",\n};\n\n/**\n * @module createSource\n * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create.\n * @property {RedirectType} redirect - redirect url for success and failed payment.\n * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay.\n * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\n * @property {BillingProps} billing - billing information of the payment source.\n * @returns {CreateSourceResponse} - The response of the create source request.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * const data = await client.source.create({\n * amount: 10000,\n * redirect: {\n * success: `http://localhost:3000/payments/success`,\n * failed: `http://localhost:3000/payments/error`,\n * },\n * type: \"gcash\",\n * currency: \"PHP\",\n * });\n *\n * return data\n * }\n * ```\n */\nexport const createSource = async ({\n amount = defaultProps.amount,\n type = defaultProps.type,\n currency = defaultProps.currency as CurrencyType,\n redirect,\n billing,\n}: CreateSourceProps): Promise => {\n const data: any = {\n attributes: {\n amount,\n redirect,\n type,\n currency,\n },\n };\n\n if (billing) data.attributes.billing = billing;\n\n try {\n const response = await api.post(\"/sources\", {\n data,\n });\n return response.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../../utils/api-base\";\nimport { PaymentSourceResponse } from \"./types\";\n\n/**\n * @module retrieveSource\n * @property {string} sourceId - The id of the payment source.\n * @returns {RetrieveSourceResponse} - The payment source data.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * data = await client.source.retrieve(\"source_id\");\n * return data\n * }\n * ```\n */\nexport const retrieveSource = async (\n sourceId: string\n): Promise => {\n try {\n const res = await api.get(`/sources/${sourceId}`);\n return res.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module archiveLink\r\n * @property {string} linkId - ID of the link to archive.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.archive(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const archiveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.post(`/links/${linkId}/archive`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse, CreatePaymentLinkProps } from \"./types\";\r\n\r\n/**\r\n * @module createLink\r\n * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050.\r\n * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser.\r\n * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * const data = await client.link.create({\r\n * amount: 10000,\r\n * description: \"Payment for order 123\",\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createLink = async ({\r\n amount,\r\n description,\r\n remarks,\r\n}: CreatePaymentLinkProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n description,\r\n },\r\n };\r\n\r\n if (remarks) data.attributes.remarks = remarks;\r\n\r\n try {\r\n const res = await api.post(\"/links\", { data });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { RetrieveFromRefResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveFromRefLink\r\n * @property {string} refId - The unique identifier of the PayMongo link checkout URL.\r\n * @returns {RetrieveFromRefResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.retrieveFromRef(\"ref_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveFromRefLink = async (\r\n refId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(`/links?reference_number=${refId}`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module retrieveLink\r\n * @property {string} linkId - The id of the payment link.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.retrieve(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const retrieveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.get(`/links/${linkId}`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../../utils/api-base\";\r\nimport { PaymentLinkResponse } from \"./types\";\r\n\r\n/**\r\n * @module unarchiveLink\r\n * @property {string} linkId - ID of the link to archive.\r\n * @returns {PaymentLinkResponse} - The payment intent data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"sk_test_key\");\r\n * data = await client.link.unarchive(\"link_id\");\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const unarchiveLink = async (\r\n linkId: string\r\n): Promise => {\r\n try {\r\n const res = await api.post(`/links/${linkId}/unarchive`);\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../utils/api-base\";\r\nimport { PaymentProps, PaymentResponse, CurrencyType } from \"./types\";\r\n\r\nconst defaultProps = {\r\n amount: 0,\r\n currency: \"PHP\" as CurrencyType,\r\n};\r\n\r\n/**\r\n * @module createPayment\r\n * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount.\r\n * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.\r\n * @property {string} description - The description of the payment.\r\n * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space.\r\n * @property {object} source - The source of the payment.\r\n * @property {string} source.id - The id of the source.\r\n * @property {string} source.type - Type of a Source resource. Possible value is source\r\n * @returns {CreatePaymentResponse} - The payment data.\r\n *\r\n * @example\r\n * ```js\r\n * import PaymongoClient from \"paymongo.js\";\r\n *\r\n * const main = async () => {\r\n * const client = PaymongoClient(\"pk_test_key\");\r\n * const data = await client.payment.create({\r\n * amount: 10000,\r\n * currency: \"PHP\",\r\n * source: {\r\n * id: \"src_utfBfBav5fzXuJiJMDs7J6ye\",\r\n * type: \"source\",\r\n * },\r\n * statement_descriptor: \"Test Payment\",\r\n\t\t\tdescription: \"Test Payment\"\r\n * });\r\n * return data\r\n * }\r\n * ```\r\n */\r\nexport const createPayment = async ({\r\n amount = defaultProps.amount,\r\n currency = defaultProps.currency,\r\n source,\r\n description,\r\n statement_descriptor,\r\n}: PaymentProps): Promise => {\r\n const data: any = {\r\n attributes: {\r\n amount,\r\n currency,\r\n source,\r\n },\r\n };\r\n\r\n if (description) data.attributes.description = description;\r\n if (statement_descriptor)\r\n data.attributes.statement_descriptor = statement_descriptor;\r\n\r\n try {\r\n const res = await api.post(\"/payments\", { data });\r\n return res.data;\r\n } catch (err) {\r\n const error: any = err;\r\n throw error.response.data;\r\n }\r\n};\r\n","import api from \"../utils/api-base\";\nimport { PaymentResponse } from \"./types\";\n\n/**\n * @module retrievePayment\n * @property {string} paymentId - The id of the payment.\n * @returns {PaymentResponse} - The payment data.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"pk_test_key\");\n * data = await client.payment.retrieve(\"payment_id\");\n * return data\n * }\n * ```\n */\nexport const retrievePayment = async (\n paymentId: string\n): Promise => {\n try {\n const res = await api.get(`/payments/${paymentId}`);\n return res.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import api from \"../utils/api-base\";\nimport { ListPaymentResponse } from \"./types\";\n\n/**\n * @module listPayments\n * @returns {ListPaymentResponse} - The list of payment webhooks.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"sk_test_key\");\n * const webhooks = await client.payment.list();\n * return webhooks;\n * }\n * ```\n */\nexport const listPayments = async (): Promise => {\n try {\n const response = await api.get(\"/payments\");\n return response.data;\n } catch (err) {\n const error: any = err;\n throw error.response.data;\n }\n};\n","import { attachIntent, createIntent, retrieveIntent } from \"./payment/intent\";\nimport { createMethod, retrieveMethod } from \"./payment/method\";\nimport {\n createWebhook,\n disableWebhook,\n enableWebhook,\n listWebhooks,\n retrieveWebhook,\n updateWebhook,\n} from \"./payment/webhook\";\nimport { createSource, retrieveSource } from \"./payment/source\";\nimport {\n archiveLink,\n createLink,\n retrieveFromRefLink,\n retrieveLink,\n unarchiveLink,\n} from \"./payment/link\";\nimport { createPayment, retrievePayment, listPayments } from \"./payment\";\nimport { store } from \"./store\";\n\nexport * from \"./payment/types\";\n\nexport interface PaymongoClient {\n intent: {\n attach: typeof attachIntent;\n create: typeof createIntent;\n retrieve: typeof retrieveIntent;\n };\n method: {\n create: typeof createMethod;\n retrieve: typeof retrieveMethod;\n };\n webhook: {\n create: typeof createWebhook;\n disable: typeof disableWebhook;\n enable: typeof enableWebhook;\n list: typeof listWebhooks;\n retrieve: typeof retrieveWebhook;\n update: typeof updateWebhook;\n };\n source: {\n create: typeof createSource;\n retrieve: typeof retrieveSource;\n };\n link: {\n archive: typeof archiveLink;\n create: typeof createLink;\n retrieveFromRef: typeof retrieveFromRefLink;\n retrieve: typeof retrieveLink;\n unarchive: typeof unarchiveLink;\n };\n payment: {\n create: typeof createPayment;\n retrieve: typeof retrievePayment;\n list: typeof listPayments;\n };\n}\n\nexport type ClientFunction = (secretKey: string) => PaymongoClient;\n\n/**\n * @module PaymongoClient\n * @param secretKey - The secret key of your Paymongo account.\n * @returns {PaymongoClient} - The Paymongo client.\n *\n * @example\n * ```js\n * import PaymongoClient from \"paymongo.js\";\n *\n * const main = async () => {\n * const client = PaymongoClient(\"sk_test_key\");\n * return client;\n * }\n * ```\n * @returns\n */\nconst PaymongoClient: ClientFunction = (secretKey: string) => {\n store.setState((state) => ({ ...state, secretKey }));\n\n return {\n intent: {\n attach: attachIntent,\n create: createIntent,\n retrieve: retrieveIntent,\n },\n method: {\n create: createMethod,\n retrieve: retrieveMethod,\n },\n webhook: {\n create: createWebhook,\n disable: disableWebhook,\n enable: enableWebhook,\n list: listWebhooks,\n retrieve: retrieveWebhook,\n update: updateWebhook,\n },\n source: {\n create: createSource,\n retrieve: retrieveSource,\n },\n link: {\n archive: archiveLink,\n create: createLink,\n retrieveFromRef: retrieveFromRefLink,\n retrieve: retrieveLink,\n unarchive: unarchiveLink,\n },\n payment: {\n create: createPayment,\n retrieve: retrievePayment,\n list: listPayments,\n },\n };\n};\n\nexport default PaymongoClient;\n"],"names":["undefined","config","BASE_URL","store","create","set","secretKey","setSecretKey","state","baseUrl","axiosInstance","axios","baseURL","headers","Accept","responseType","subscribe","defaults","auth","username","password","attachIntent","intentId","methodId","clientKey","returnUrl","data","attributes","payment_method","client_key","return_url","api","post","res","error","response","defaultProps","amount","paymentMethodAllowed","currency","request3DS","createIntent","description","statementDescriptor","metadata","payment_method_allowed","payment_method_options","card","request_three_d_secure","statement_descriptor","retrieveIntent","url","get","createMethod","details","type","billing","card_number","cardNumber","exp_month","expMonth","exp_year","expYear","cvc","retrieveMethod","createWebhook","events","disableWebhook","webhookId","enableWebhook","listWebhooks","retrieveWebhook","updateWebhook","put","createSource","redirect","retrieveSource","sourceId","archiveLink","linkId","createLink","remarks","retrieveFromRefLink","refId","retrieveLink","unarchiveLink","createPayment","source","retrievePayment","paymentId","listPayments","PaymongoClient","setState","intent","attach","retrieve","method","webhook","disable","enable","list","update","link","archive","retrieveFromRef","unarchive","payment"],"mappings":"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"} \ No newline at end of file diff --git a/dist/store/index.d.ts b/dist/store/index.d.ts deleted file mode 100644 index 247dbf4..0000000 --- a/dist/store/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface AppStore { - secretKey: string; - setSecretKey: (secretKey: string) => void; -} -export declare const store: import("zustand/vanilla").StoreApi; diff --git a/dist/utils/api-base.d.ts b/dist/utils/api-base.d.ts deleted file mode 100644 index 8b50ed6..0000000 --- a/dist/utils/api-base.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const baseUrl: string; -declare const axiosInstance: import("axios").AxiosInstance; -export default axiosInstance; diff --git a/package.json b/package.json index 95990c7..aa1a0f0 100644 --- a/package.json +++ b/package.json @@ -11,15 +11,12 @@ "node": ">=10" }, "scripts": { - "start": "tsdx watch", - "build": "tsdx build", - "test": "tsdx test", + "dev": "tsup src/index.ts", + "build": "tsup src/index.ts --dts --format cjs,esm", + "test": "echo \"TODO: implement\"", "lint": "eslint --fix src/**/*.{js,ts}", - "prepare": "husky install", - "size": "size-limit", - "release": "np" + "size": "size-limit" }, - "peerDependencies": {}, "name": "paymongo.js", "author": "princejoogie", "module": "dist/paymongo.js.esm.js", @@ -40,13 +37,12 @@ "dotenv": "^11.0.0", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", - "husky": "^7.0.4", "lint-staged": "^12.1.7", "np": "^7.6.0", "prettier": "2.5.1", "size-limit": "^7.0.5", - "tsdx": "^0.14.1", "tslib": "^2.3.1", + "tsup": "^6.7.0", "typescript": "^4.5.4" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..18c0855 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,3952 @@ +lockfileVersion: 5.4 + +specifiers: + '@size-limit/preset-small-lib': ^7.0.5 + '@typescript-eslint/eslint-plugin': ^5.9.0 + '@typescript-eslint/parser': ^5.9.0 + axios: ^0.24.0 + dotenv: ^11.0.0 + eslint: ^8.6.0 + eslint-config-prettier: ^8.3.0 + lint-staged: ^12.1.7 + np: ^7.6.0 + prettier: 2.5.1 + size-limit: ^7.0.5 + tslib: ^2.3.1 + tsup: ^6.7.0 + typescript: ^4.5.4 + zustand: ^3.6.8 + +dependencies: + axios: 0.24.0 + zustand: 3.7.2 + +devDependencies: + '@size-limit/preset-small-lib': 7.0.8_size-limit@7.0.8 + '@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + dotenv: 11.0.0 + eslint: 8.36.0 + eslint-config-prettier: 8.8.0_eslint@8.36.0 + lint-staged: 12.5.0 + np: 7.6.4 + prettier: 2.5.1 + size-limit: 7.0.8 + tslib: 2.5.0 + tsup: 6.7.0_typescript@4.9.5 + typescript: 4.9.5 + +packages: + + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@esbuild/android-arm/0.17.12: + resolution: {integrity: sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.17.12: + resolution: {integrity: sha512-WQ9p5oiXXYJ33F2EkE3r0FRDFVpEdcDiwNX3u7Xaibxfx6vQE0Sb8ytrfQsA5WO6kDn6mDfKLh6KrPBjvkk7xA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.17.12: + resolution: {integrity: sha512-m4OsaCr5gT+se25rFPHKQXARMyAehHTQAz4XX1Vk3d27VtqiX0ALMBPoXZsGaB6JYryCLfgGwUslMqTfqeLU0w==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.17.12: + resolution: {integrity: sha512-O3GCZghRIx+RAN0NDPhyyhRgwa19MoKlzGonIb5hgTj78krqp9XZbYCvFr9N1eUxg0ZQEpiiZ4QvsOQwBpP+lg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.17.12: + resolution: {integrity: sha512-5D48jM3tW27h1qjaD9UNRuN+4v0zvksqZSPZqeSWggfMlsVdAhH3pwSfQIFJwcs9QJ9BRibPS4ViZgs3d2wsCA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.17.12: + resolution: {integrity: sha512-OWvHzmLNTdF1erSvrfoEBGlN94IE6vCEaGEkEH29uo/VoONqPnoDFfShi41Ew+yKimx4vrmmAJEGNoyyP+OgOQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.17.12: + resolution: {integrity: sha512-A0Xg5CZv8MU9xh4a+7NUpi5VHBKh1RaGJKqjxe4KG87X+mTjDE6ZvlJqpWoeJxgfXHT7IMP9tDFu7IZ03OtJAw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.17.12: + resolution: {integrity: sha512-WsHyJ7b7vzHdJ1fv67Yf++2dz3D726oO3QCu8iNYik4fb5YuuReOI9OtA+n7Mk0xyQivNTPbl181s+5oZ38gyA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.17.12: + resolution: {integrity: sha512-cK3AjkEc+8v8YG02hYLQIQlOznW+v9N+OI9BAFuyqkfQFR+DnDLhEM5N8QRxAUz99cJTo1rLNXqRrvY15gbQUg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.17.12: + resolution: {integrity: sha512-jdOBXJqcgHlah/nYHnj3Hrnl9l63RjtQ4vn9+bohjQPI2QafASB5MtHAoEv0JQHVb/xYQTFOeuHnNYE1zF7tYw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.17.12: + resolution: {integrity: sha512-GTOEtj8h9qPKXCyiBBnHconSCV9LwFyx/gv3Phw0pa25qPYjVuuGZ4Dk14bGCfGX3qKF0+ceeQvwmtI+aYBbVA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.17.12: + resolution: {integrity: sha512-o8CIhfBwKcxmEENOH9RwmUejs5jFiNoDw7YgS0EJTF6kgPgcqLFjgoc5kDey5cMHRVCIWc6kK2ShUePOcc7RbA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.17.12: + resolution: {integrity: sha512-biMLH6NR/GR4z+ap0oJYb877LdBpGac8KfZoEnDiBKd7MD/xt8eaw1SFfYRUeMVx519kVkAOL2GExdFmYnZx3A==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.17.12: + resolution: {integrity: sha512-jkphYUiO38wZGeWlfIBMB72auOllNA2sLfiZPGDtOBb1ELN8lmqBrlMiucgL8awBw1zBXN69PmZM6g4yTX84TA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.17.12: + resolution: {integrity: sha512-j3ucLdeY9HBcvODhCY4b+Ds3hWGO8t+SAidtmWu/ukfLLG/oYDMaA+dnugTVAg5fnUOGNbIYL9TOjhWgQB8W5g==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.17.12: + resolution: {integrity: sha512-uo5JL3cgaEGotaqSaJdRfFNSCUJOIliKLnDGWaVCgIKkHxwhYMm95pfMbWZ9l7GeW9kDg0tSxcy9NYdEtjwwmA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.17.12: + resolution: {integrity: sha512-DNdoRg8JX+gGsbqt2gPgkgb00mqOgOO27KnrWZtdABl6yWTST30aibGJ6geBq3WM2TIeW6COs5AScnC7GwtGPg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.17.12: + resolution: {integrity: sha512-aVsENlr7B64w8I1lhHShND5o8cW6sB9n9MUtLumFlPhG3elhNWtE7M1TFpj3m7lT3sKQUMkGFjTQBrvDDO1YWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.17.12: + resolution: {integrity: sha512-qbHGVQdKSwi0JQJuZznS4SyY27tYXYF0mrgthbxXrZI3AHKuRvU+Eqbg/F0rmLDpW/jkIZBlCO1XfHUBMNJ1pg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.17.12: + resolution: {integrity: sha512-zsCp8Ql+96xXTVTmm6ffvoTSZSV2B/LzzkUXAY33F/76EajNw1m+jZ9zPfNJlJ3Rh4EzOszNDHsmG/fZOhtqDg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.17.12: + resolution: {integrity: sha512-FfrFjR4id7wcFYOdqbDfDET3tjxCozUgbqdkOABsSFzoZGFC92UK7mg4JKRc/B3NNEf1s2WHxJ7VfTdVDPN3ng==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.17.12: + resolution: {integrity: sha512-JOOxw49BVZx2/5tW3FqkdjSD/5gXYeVGPDcB0lvap0gLQshkh1Nyel1QazC+wNxus3xPlsYAgqU1BUmrmCvWtw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils/4.3.0_eslint@8.36.0: + resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.36.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /@eslint-community/regexpp/4.4.0: + resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc/2.0.1: + resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.0 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js/8.36.0: + resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@samverschueren/stream-to-observable/0.3.1_rxjs@6.6.7: + resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} + engines: {node: '>=6'} + peerDependencies: + rxjs: '*' + zen-observable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zen-observable: + optional: true + dependencies: + any-observable: 0.3.0_rxjs@6.6.7 + rxjs: 6.6.7 + transitivePeerDependencies: + - zenObservable + dev: true + + /@sindresorhus/is/0.14.0: + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} + dev: true + + /@sindresorhus/is/2.1.1: + resolution: {integrity: sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==} + engines: {node: '>=10'} + dev: true + + /@sindresorhus/is/4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: true + + /@size-limit/esbuild/7.0.8_size-limit@7.0.8: + resolution: {integrity: sha512-AzCrxJJThDvHrBNoolebYVgXu46c6HuS3fOxoXr3V0YWNM0qz81z5F3j7RruzboZnls8ZgME4WrH6GM5rB9gtA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + peerDependencies: + size-limit: 7.0.8 + dependencies: + esbuild: 0.14.54 + nanoid: 3.3.4 + size-limit: 7.0.8 + dev: true + + /@size-limit/file/7.0.8_size-limit@7.0.8: + resolution: {integrity: sha512-1KeFQuMXIXAH/iELqIX7x+YNYDFvzIvmxcp9PrdwEoSNL0dXdaDIo9WE/yz8xvOmUcKaLfqbWkL75DM0k91WHQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + peerDependencies: + size-limit: 7.0.8 + dependencies: + semver: 7.3.5 + size-limit: 7.0.8 + dev: true + + /@size-limit/preset-small-lib/7.0.8_size-limit@7.0.8: + resolution: {integrity: sha512-CT8nIYA/c2CSD+X4rAUgwqYccQMahJ6rBnaZxvi3YKFdkXIbuGNXHNjHsYaFksgwG9P4UjG/unyO5L73f3zQBw==} + peerDependencies: + size-limit: 7.0.8 + dependencies: + '@size-limit/esbuild': 7.0.8_size-limit@7.0.8 + '@size-limit/file': 7.0.8_size-limit@7.0.8 + size-limit: 7.0.8 + dev: true + + /@szmarczak/http-timer/1.1.2: + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} + dependencies: + defer-to-connect: 1.1.3 + dev: true + + /@szmarczak/http-timer/4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: true + + /@types/cacheable-request/6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.1 + '@types/keyv': 3.1.4 + '@types/node': 18.15.5 + '@types/responselike': 1.0.0 + dev: true + + /@types/http-cache-semantics/4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: true + + /@types/json-schema/7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: true + + /@types/keyv/3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 18.15.5 + dev: true + + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/node/18.15.5: + resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} + dev: true + + /@types/normalize-package-data/2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/parse-json/4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: true + + /@types/responselike/1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 18.15.5 + dev: true + + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + + /@typescript-eslint/eslint-plugin/5.56.0_iskin7c6dxqunwflhstekcjqmq: + resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.4.0 + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/scope-manager': 5.56.0 + '@typescript-eslint/type-utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + debug: 4.3.4 + eslint: 8.36.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.3.8 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.56.0_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.56.0 + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + debug: 4.3.4 + eslint: 8.36.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.56.0: + resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/visitor-keys': 5.56.0 + dev: true + + /@typescript-eslint/type-utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + debug: 4.3.4 + eslint: 8.36.0 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.56.0: + resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.56.0_typescript@4.9.5: + resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/visitor-keys': 5.56.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.8 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.56.0 + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + eslint: 8.36.0 + eslint-scope: 5.1.1 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.56.0: + resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.56.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /acorn-jsx/5.3.2_acorn@8.8.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + dev: true + + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /aggregate-error/3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-align/3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: true + + /ansi-escapes/3.2.0: + resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} + engines: {node: '>=4'} + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex/2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex/3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + dev: true + + /ansi-regex/4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex/6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles/2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles/6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /any-observable/0.3.0_rxjs@6.6.7: + resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} + engines: {node: '>=6'} + peerDependencies: + rxjs: '*' + zenObservable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zenObservable: + optional: true + dependencies: + rxjs: 6.6.7 + dev: true + + /any-observable/0.5.1_rxjs@6.6.7: + resolution: {integrity: sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA==} + engines: {node: '>=8'} + peerDependencies: + rxjs: '*' + zen-observable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zen-observable: + optional: true + dependencies: + rxjs: 6.6.7 + dev: true + + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /arrify/1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-exit-hook/2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} + dev: true + + /axios/0.24.0: + resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + dependencies: + follow-redirects: 1.15.2 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /boxen/5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /builtins/1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + dev: true + + /bundle-require/4.0.1_esbuild@0.17.12: + resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.17' + dependencies: + esbuild: 0.17.12 + load-tsconfig: 0.2.5 + dev: true + + /bytes-iec/3.1.1: + resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} + engines: {node: '>= 0.8'} + dev: true + + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cacheable-lookup/2.0.1: + resolution: {integrity: sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==} + engines: {node: '>=10'} + dependencies: + '@types/keyv': 3.1.4 + keyv: 4.5.2 + dev: true + + /cacheable-request/6.1.0: + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 3.1.0 + lowercase-keys: 2.0.0 + normalize-url: 4.5.1 + responselike: 1.0.2 + dev: true + + /cacheable-request/7.0.2: + resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.2 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-keys/6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /chalk/1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chardet/0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /ci-info/2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + + /ci-job-number/1.2.2: + resolution: {integrity: sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==} + dev: true + + /clean-stack/2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-boxes/2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true + + /cli-cursor/2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + dependencies: + restore-cursor: 2.0.0 + dev: true + + /cli-cursor/3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-truncate/0.2.1: + resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} + engines: {node: '>=0.10.0'} + dependencies: + slice-ansi: 0.0.4 + string-width: 1.0.2 + dev: true + + /cli-truncate/2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /cli-truncate/3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cli-width/2.2.1: + resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} + dev: true + + /cli-width/3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /clone-response/1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /code-point-at/1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette/2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /commander/9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /configstore/5.0.1: + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.11 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + dev: true + + /cosmiconfig/7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-random-string/2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + + /date-fns/1.30.1: + resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /debug/4.3.4_supports-color@9.3.1: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 9.3.1 + dev: true + + /decamelize-keys/1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decompress-response/3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: true + + /decompress-response/5.0.0: + resolution: {integrity: sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==} + engines: {node: '>=10'} + dependencies: + mimic-response: 2.1.0 + dev: true + + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /defer-to-connect/1.1.3: + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + dev: true + + /defer-to-connect/2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: true + + /del/6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dot-prop/5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dot-prop/6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dotenv/11.0.0: + resolution: {integrity: sha512-Fp/b504Y5W+e+FpCxTFMUZ7ZEQkQYF0rx+KZtmwixJxGQbLHrhCwo3FjZgNC8vIfrSi29PABNbMoCGD9YoiXbQ==} + engines: {node: '>=12'} + dev: true + + /duplexer3/0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: true + + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /elegant-spinner/1.0.1: + resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} + engines: {node: '>=0.10.0'} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /esbuild-android-64/0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dev: true + + /esbuild/0.17.12: + resolution: {integrity: sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.12 + '@esbuild/android-arm64': 0.17.12 + '@esbuild/android-x64': 0.17.12 + '@esbuild/darwin-arm64': 0.17.12 + '@esbuild/darwin-x64': 0.17.12 + '@esbuild/freebsd-arm64': 0.17.12 + '@esbuild/freebsd-x64': 0.17.12 + '@esbuild/linux-arm': 0.17.12 + '@esbuild/linux-arm64': 0.17.12 + '@esbuild/linux-ia32': 0.17.12 + '@esbuild/linux-loong64': 0.17.12 + '@esbuild/linux-mips64el': 0.17.12 + '@esbuild/linux-ppc64': 0.17.12 + '@esbuild/linux-riscv64': 0.17.12 + '@esbuild/linux-s390x': 0.17.12 + '@esbuild/linux-x64': 0.17.12 + '@esbuild/netbsd-x64': 0.17.12 + '@esbuild/openbsd-x64': 0.17.12 + '@esbuild/sunos-x64': 0.17.12 + '@esbuild/win32-arm64': 0.17.12 + '@esbuild/win32-ia32': 0.17.12 + '@esbuild/win32-x64': 0.17.12 + dev: true + + /escape-goat/2.1.1: + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} + dev: true + + /escape-goat/3.0.0: + resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} + engines: {node: '>=10'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier/8.8.0_eslint@8.36.0: + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.36.0 + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.36.0: + resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@eslint-community/regexpp': 4.4.0 + '@eslint/eslintrc': 2.0.1 + '@eslint/js': 8.36.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.3.0 + espree: 9.5.0 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.3.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree/9.5.0: + resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2_acorn@8.8.2 + eslint-visitor-keys: 3.3.0 + dev: true + + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /external-editor/3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /figures/1.7.0: + resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + dev: true + + /figures/2.0.0: + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /figures/3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: true + + /flatted/3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /get-stream/4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream/5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /github-url-from-git/1.5.0: + resolution: {integrity: sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==} + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-dirs/2.1.0: + resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} + engines: {node: '>=8'} + dependencies: + ini: 1.3.7 + dev: true + + /global-dirs/3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + dependencies: + ini: 2.0.0 + dev: true + + /globals/13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /got/10.7.0: + resolution: {integrity: sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==} + engines: {node: '>=10'} + dependencies: + '@sindresorhus/is': 2.1.1 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + cacheable-lookup: 2.0.1 + cacheable-request: 7.0.2 + decompress-response: 5.0.0 + duplexer3: 0.1.5 + get-stream: 5.2.0 + lowercase-keys: 2.0.0 + mimic-response: 2.1.0 + p-cancelable: 2.1.1 + p-event: 4.2.0 + responselike: 2.0.1 + to-readable-stream: 2.1.0 + type-fest: 0.10.0 + dev: true + + /got/9.6.0: + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + cacheable-request: 6.1.0 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 4.1.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 1.1.0 + to-readable-stream: 1.0.0 + url-parse-lax: 3.0.0 + dev: true + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /hard-rejection/2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-ansi/2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-yarn/2.1.0: + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info/3.0.8: + resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /http-cache-semantics/4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ignore-walk/3.0.4: + resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} + dependencies: + minimatch: 3.1.2 + dev: true + + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy/2.1.0: + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} + dev: true + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string/3.2.0: + resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} + engines: {node: '>=4'} + dev: true + + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini/1.3.7: + resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} + dev: true + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /ini/2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: true + + /inquirer-autosubmit-prompt/0.2.0: + resolution: {integrity: sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==} + dependencies: + chalk: 2.4.2 + inquirer: 6.5.2 + rxjs: 6.6.7 + dev: true + + /inquirer/6.5.2: + resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} + engines: {node: '>=6.0.0'} + dependencies: + ansi-escapes: 3.2.0 + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-width: 2.2.1 + external-editor: 3.1.0 + figures: 2.0.0 + lodash: 4.17.21 + mute-stream: 0.0.7 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 2.1.1 + strip-ansi: 5.2.0 + through: 2.3.8 + dev: true + + /inquirer/7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-ci/2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + dependencies: + number-is-nan: 1.0.1 + dev: true + + /is-fullwidth-code-point/2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point/4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-installed-globally/0.3.2: + resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} + engines: {node: '>=8'} + dependencies: + global-dirs: 2.1.0 + is-path-inside: 3.0.3 + dev: true + + /is-installed-globally/0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + dev: true + + /is-interactive/1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-npm/5.0.0: + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj/2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-observable/1.1.0: + resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} + engines: {node: '>=4'} + dependencies: + symbol-observable: 1.2.0 + dev: true + + /is-path-cwd/2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-promise/2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: true + + /is-scoped/2.1.0: + resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} + engines: {node: '>=8'} + dependencies: + scoped-regex: 2.1.0 + dev: true + + /is-stream/1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-typedarray/1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-url-superb/4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + dev: true + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /is-yarn-global/0.3.0: + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /issue-regex/3.1.0: + resolution: {integrity: sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA==} + engines: {node: '>=10'} + dev: true + + /joycon/3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: true + + /js-sdsl/4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer/3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: true + + /json-buffer/3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /keyv/3.1.0: + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /keyv/4.5.2: + resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /latest-version/5.1.0: + resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} + engines: {node: '>=8'} + dependencies: + package-json: 6.5.0 + dev: true + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig/2.0.5: + resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} + engines: {node: '>=10'} + dev: true + + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lint-staged/12.5.0: + resolution: {integrity: sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.19 + commander: 9.5.0 + debug: 4.3.4_supports-color@9.3.1 + execa: 5.1.1 + lilconfig: 2.0.5 + listr2: 4.0.5 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-inspect: 1.12.3 + pidtree: 0.5.0 + string-argv: 0.3.1 + supports-color: 9.3.1 + yaml: 1.10.2 + transitivePeerDependencies: + - enquirer + dev: true + + /listr-input/0.2.1: + resolution: {integrity: sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==} + engines: {node: '>=6'} + dependencies: + inquirer: 7.3.3 + inquirer-autosubmit-prompt: 0.2.0 + rxjs: 6.6.7 + through: 2.3.8 + dev: true + + /listr-silent-renderer/1.1.1: + resolution: {integrity: sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==} + engines: {node: '>=4'} + dev: true + + /listr-update-renderer/0.5.0_listr@0.14.3: + resolution: {integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==} + engines: {node: '>=6'} + peerDependencies: + listr: ^0.14.2 + dependencies: + chalk: 1.1.3 + cli-truncate: 0.2.1 + elegant-spinner: 1.0.1 + figures: 1.7.0 + indent-string: 3.2.0 + listr: 0.14.3 + log-symbols: 1.0.2 + log-update: 2.3.0 + strip-ansi: 3.0.1 + dev: true + + /listr-verbose-renderer/0.5.0: + resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} + engines: {node: '>=4'} + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + date-fns: 1.30.1 + figures: 2.0.0 + dev: true + + /listr/0.14.3: + resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} + engines: {node: '>=6'} + dependencies: + '@samverschueren/stream-to-observable': 0.3.1_rxjs@6.6.7 + is-observable: 1.1.0 + is-promise: 2.2.2 + is-stream: 1.1.0 + listr-silent-renderer: 1.1.1 + listr-update-renderer: 0.5.0_listr@0.14.3 + listr-verbose-renderer: 0.5.0 + p-map: 2.1.0 + rxjs: 6.6.7 + transitivePeerDependencies: + - zen-observable + - zenObservable + dev: true + + /listr2/4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.19 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.8.0 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /load-tsconfig/0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.isequal/4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + + /lodash.zip/4.2.0: + resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols/1.0.2: + resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} + engines: {node: '>=0.10.0'} + dependencies: + chalk: 1.1.3 + dev: true + + /log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update/2.3.0: + resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} + engines: {node: '>=4'} + dependencies: + ansi-escapes: 3.2.0 + cli-cursor: 2.1.0 + wrap-ansi: 3.0.1 + dev: true + + /log-update/4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /lowercase-keys/1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys/2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /map-age-cleaner/0.1.3: + resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} + engines: {node: '>=6'} + dependencies: + p-defer: 1.0.0 + dev: true + + /map-obj/1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /meow/8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn/1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn/3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + dev: true + + /mimic-response/1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /mimic-response/2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist-options/4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /mute-stream/0.0.7: + resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} + dev: true + + /mute-stream/0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /nanospinner/1.1.0: + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} + dependencies: + picocolors: 1.0.0 + dev: true + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /new-github-release-url/1.0.0: + resolution: {integrity: sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.4.1 + dev: true + + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.1 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data/3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.11.0 + semver: 7.3.8 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url/4.5.1: + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} + dev: true + + /normalize-url/6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: true + + /np/7.6.4: + resolution: {integrity: sha512-w1bwfhN2OCY8VgVdtkSn2vHN+c0KtPnCCWKWvPjuB6WCxMc1bmU797xCc1NZJdRAW2F79zrMMKOIh0N/A1xdXg==} + engines: {git: '>=2.11.0', node: '>=10', npm: '>=6.8.0', yarn: '>=1.7.0'} + hasBin: true + dependencies: + '@samverschueren/stream-to-observable': 0.3.1_rxjs@6.6.7 + any-observable: 0.5.1_rxjs@6.6.7 + async-exit-hook: 2.0.1 + chalk: 4.1.2 + cosmiconfig: 7.1.0 + del: 6.1.1 + escape-goat: 3.0.0 + escape-string-regexp: 4.0.0 + execa: 5.1.1 + github-url-from-git: 1.5.0 + has-yarn: 2.1.0 + hosted-git-info: 3.0.8 + ignore-walk: 3.0.4 + import-local: 3.1.0 + inquirer: 7.3.3 + is-installed-globally: 0.3.2 + is-interactive: 1.0.0 + is-scoped: 2.1.0 + issue-regex: 3.1.0 + listr: 0.14.3 + listr-input: 0.2.1 + log-symbols: 4.1.0 + meow: 8.1.2 + minimatch: 3.1.2 + new-github-release-url: 1.0.0 + npm-name: 6.0.1 + onetime: 5.1.2 + open: 7.4.2 + ow: 0.21.0 + p-memoize: 4.0.4 + p-timeout: 4.1.0 + pkg-dir: 5.0.0 + read-pkg-up: 7.0.1 + rxjs: 6.6.7 + semver: 7.3.8 + split: 1.0.1 + symbol-observable: 3.0.0 + terminal-link: 2.1.1 + update-notifier: 5.1.0 + transitivePeerDependencies: + - zen-observable + - zenObservable + dev: true + + /npm-name/6.0.1: + resolution: {integrity: sha512-fhKRvUAxaYzMEUZim4mXWyfFbVS+M1CbrCLdAo3txWzrctxKka/h+KaBW0O9Cz5uOM00Nldn2JLWhuwnyW3SUw==} + engines: {node: '>=10'} + dependencies: + got: 10.7.0 + is-scoped: 2.1.0 + is-url-superb: 4.0.0 + lodash.zip: 4.2.0 + org-regex: 1.0.0 + p-map: 3.0.0 + registry-auth-token: 4.2.2 + registry-url: 5.1.0 + validate-npm-package-name: 3.0.0 + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /number-is-nan/1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + dependencies: + mimic-fn: 1.2.0 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /open/7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /org-regex/1.0.0: + resolution: {integrity: sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==} + engines: {node: '>=8'} + dev: true + + /os-tmpdir/1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /ow/0.21.0: + resolution: {integrity: sha512-dlsoDe39g7mhdsdrC1R/YwjT7yjVqE3svWwOlMGvN690waBkgEZBmKBdkmKvSt5/wZ6E0Jn/nIesPqMZOpPKqw==} + engines: {node: '>=10'} + dependencies: + '@sindresorhus/is': 4.6.0 + callsites: 3.1.0 + dot-prop: 6.0.1 + lodash.isequal: 4.5.0 + type-fest: 0.20.2 + vali-date: 1.0.0 + dev: true + + /p-cancelable/1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} + dev: true + + /p-cancelable/2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + dev: true + + /p-defer/1.0.0: + resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} + engines: {node: '>=4'} + dev: true + + /p-event/4.2.0: + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} + dependencies: + p-timeout: 3.2.0 + dev: true + + /p-finally/1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map/2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + + /p-map/3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-map/4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-memoize/4.0.4: + resolution: {integrity: sha512-ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw==} + engines: {node: '>=10'} + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 3.1.0 + p-settle: 4.1.1 + dev: true + + /p-reflect/2.1.0: + resolution: {integrity: sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==} + engines: {node: '>=8'} + dev: true + + /p-settle/4.1.1: + resolution: {integrity: sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==} + engines: {node: '>=10'} + dependencies: + p-limit: 2.3.0 + p-reflect: 2.1.0 + dev: true + + /p-timeout/3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + dependencies: + p-finally: 1.0.0 + dev: true + + /p-timeout/4.1.0: + resolution: {integrity: sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==} + engines: {node: '>=10'} + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /package-json/6.5.0: + resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} + engines: {node: '>=8'} + dependencies: + got: 9.6.0 + registry-auth-token: 4.2.2 + registry-url: 5.1.0 + semver: 6.3.0 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.18.6 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree/0.5.0: + resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pkg-dir/5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + dev: true + + /postcss-load-config/3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + yaml: 1.10.2 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prepend-http/2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: true + + /prettier/2.5.1: + resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /pupa/2.1.1: + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} + dependencies: + escape-goat: 2.1.1 + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru/4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + + /read-pkg-up/7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg/5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redent/3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /registry-auth-token/4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} + dependencies: + rc: 1.2.8 + dev: true + + /registry-url/5.1.0: + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} + dependencies: + rc: 1.2.8 + dev: true + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /responselike/1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: true + + /responselike/2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: true + + /restore-cursor/2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + dev: true + + /restore-cursor/3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup/3.20.0: + resolution: {integrity: sha512-YsIfrk80NqUDrxrjWPXUa7PWvAfegZEXHuPsEZg58fGCdjL1I9C1i/NaG+L+27kxxwkrG/QEDEQc8s/ynXWWGQ==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /run-async/2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs/6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + dependencies: + tslib: 1.14.1 + dev: true + + /rxjs/7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + dependencies: + tslib: 2.5.0 + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /scoped-regex/2.1.0: + resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} + engines: {node: '>=8'} + dev: true + + /semver-diff/3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /size-limit/7.0.8: + resolution: {integrity: sha512-3h76c9E0e/nNhYLSR7IBI/bSoXICeo7EYkYjlyVqNIsu7KvN/PQmMbIXeyd2QKIF8iZKhaiZQoXLkGWbyPDtvQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + hasBin: true + dependencies: + bytes-iec: 3.1.1 + chokidar: 3.5.3 + ci-job-number: 1.2.2 + globby: 11.1.0 + lilconfig: 2.1.0 + mkdirp: 1.0.4 + nanospinner: 1.1.0 + picocolors: 1.0.0 + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi/0.0.4: + resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} + engines: {node: '>=0.10.0'} + dev: true + + /slice-ansi/3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi/5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + + /spdx-correct/3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions/2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids/3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /split/1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + dependencies: + through: 2.3.8 + dev: true + + /string-argv/0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width/1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: true + + /string-width/2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + + /strip-ansi/3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi/4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + dependencies: + ansi-regex: 3.0.1 + dev: true + + /strip-ansi/5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + dependencies: + ansi-regex: 4.1.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi/7.0.1: + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments/2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /sucrase/3.30.0: + resolution: {integrity: sha512-7d37d3vLF0IeH2dzvHpzDNDxUqpbDHJXTJOAnQ8jvMW04o2Czps6mxtaSnKWpE+hUS/eczqfWPUgQTrazKZPnQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + dev: true + + /supports-color/2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color/9.3.1: + resolution: {integrity: sha512-knBY82pjmnIzK3NifMo3RxEIRD9E0kIzV4BKcyTZ9+9kWgLMxd4PrsTSMoFQUabgRBbF8KOLRDCyKgNV+iK44Q==} + engines: {node: '>=12'} + dev: true + + /supports-hyperlinks/2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /symbol-observable/1.2.0: + resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} + engines: {node: '>=0.10.0'} + dev: true + + /symbol-observable/3.0.0: + resolution: {integrity: sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==} + engines: {node: '>=0.10'} + dev: true + + /terminal-link/2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: true + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tmp/0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-readable-stream/1.0.0: + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} + dev: true + + /to-readable-stream/2.1.0: + resolution: {integrity: sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==} + engines: {node: '>=8'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.0 + dev: true + + /tree-kill/1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true + + /trim-newlines/3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: true + + /tsup/6.7.0_typescript@4.9.5: + resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} + engines: {node: '>=14.18'} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.1.0' + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + dependencies: + bundle-require: 4.0.1_esbuild@0.17.12 + cac: 6.7.14 + chokidar: 3.5.3 + debug: 4.3.4 + esbuild: 0.17.12 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 3.1.4 + resolve-from: 5.0.0 + rollup: 3.20.0 + source-map: 0.8.0-beta.0 + sucrase: 3.30.0 + tree-kill: 1.2.2 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /tsutils/3.21.0_typescript@4.9.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest/0.10.0: + resolution: {integrity: sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==} + engines: {node: '>=8'} + dev: true + + /type-fest/0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.4.1: + resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} + engines: {node: '>=6'} + dev: true + + /type-fest/0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typedarray-to-buffer/3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typescript/4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unique-string/2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /update-notifier/5.1.0: + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} + dependencies: + boxen: 5.1.2 + chalk: 4.1.2 + configstore: 5.0.1 + has-yarn: 2.1.0 + import-lazy: 2.1.0 + is-ci: 2.0.0 + is-installed-globally: 0.4.0 + is-npm: 5.0.0 + is-yarn-global: 0.3.0 + latest-version: 5.1.0 + pupa: 2.1.1 + semver: 7.3.8 + semver-diff: 3.1.1 + xdg-basedir: 4.0.0 + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /url-parse-lax/3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: true + + /vali-date/1.0.0: + resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} + engines: {node: '>=0.10.0'} + dev: true + + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validate-npm-package-name/3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + dependencies: + builtins: 1.0.3 + dev: true + + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /widest-line/3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrap-ansi/3.0.1: + resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} + engines: {node: '>=4'} + dependencies: + string-width: 2.1.1 + strip-ansi: 4.0.0 + dev: true + + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic/3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /xdg-basedir/4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zustand/3.7.2: + resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} + engines: {node: '>=12.7.0'} + peerDependencies: + react: '>=16.8' + peerDependenciesMeta: + react: + optional: true + dev: false diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 0f90525..0000000 --- a/yarn.lock +++ /dev/null @@ -1,8306 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.5.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.4.4", "@babel/core@^7.7.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.7.tgz#b42bf46a3079fa65e1544135f32e7958f048adbb" - integrity sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg== - dependencies: - "@babel/types" "^7.16.7" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" - integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" - integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz#df9da66285b884ce66417abdd0b6ca91198149bd" - integrity sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ== - dependencies: - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/traverse" "^7.11.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-define-polyfill-provider@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" - integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" - integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" - integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-remap-async-to-generator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz#5ce2416990d55eb6e099128338848ae8ffa58a9a" - integrity sha512-C3o117GnP/j/N2OWo+oepeWbFEKRfNaay+F1Eo5Mj3A1SRjyx+qaFhm23nlipub7Cjv2azdUUiDH+VlpdwUFRg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.7.tgz#8ddf9eaa770ed43de4bc3687f3f3b0d6d5ecf014" - integrity sha512-7a9sABeVwcunnztZZ7WTgSw6jVYLzM1wua0Z4HIXm9S3/HC96WKQTkFgGEaj5W06SHHihPJ6Le6HzS5cGOQMNw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helpers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" - integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/highlight@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" - integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.11.5", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.7.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" - integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - -"@babel/plugin-proposal-async-generator-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.7.tgz#739adc1212a9e4892de440cd7dfffb06172df78d" - integrity sha512-TTXBT3A5c11eqRzaC6beO6rlFT3Mo9C2e8eB44tTr52ESXSK2CIc2fOp1ynpAwQA8HhBMho+WXhMHWlAe3xkpw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.16.7", "@babel/plugin-proposal-class-properties@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" - integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" - integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" - integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-async-to-generator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.7.tgz#646e1262ac341b587ff5449844d4492dbb10ac4b" - integrity sha512-pFEfjnK4DfXCfAlA5I98BYdDJD8NltMzx19gt6DAmfE+2lXRfPUoa0/5SUjT4+TDE1W/rcxU/1lgN55vpAjjdg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.7" - -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-destructuring@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" - integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== - dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.7.tgz#fd119e6a433c527d368425b45df361e1e95d3c1a" - integrity sha512-h2RP2kE7He1ZWKyAlanMZrAbdv+Acw1pA8dQZhE025WJZE2z0xzFADAinXA9fxd5bn7JnM+SdOGcndGx1ARs9w== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== - dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.7.tgz#749d90d94e73cf62c60a0cc8d6b94d29305a81f2" - integrity sha512-kFy35VwmwIQwCjwrAQhl3+c/kr292i4KdLPKp5lPH03Ltc51qnFlIADoyPxc/6Naz3ok3WdYKg+KK6AH+D4utg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - -"@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - -"@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-regenerator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/preset-env@^7.11.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.7.tgz#c491088856d0b3177822a2bf06cb74d76327aa56" - integrity sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.7" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.7" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.7" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.7" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.7" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime-corejs3@^7.10.2": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.7.tgz#a762745fe8b4d61a26444a9151e6586d36044dde" - integrity sha512-MiYR1yk8+TW/CpOD0CyX7ve9ffWTKqLk/L6pk8TPl0R8pNi+1pFY8fH9yET55KlvukQ4PAWfXsGr2YHVjcI4Pw== - dependencies: - core-js-pure "^3.19.0" - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" - integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.7.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.7.tgz#dac01236a72c2560073658dd1a285fe4e0865d76" - integrity sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.7.tgz#4ed19d51f840ed4bd5645be6ce40775fecf03159" - integrity sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" - integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.2.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" - integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" - integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-message-util "^25.5.0" - jest-util "^25.5.0" - slash "^3.0.0" - -"@jest/core@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" - integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== - dependencies: - "@jest/console" "^25.5.0" - "@jest/reporters" "^25.5.1" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^25.5.0" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-resolve-dependencies "^25.5.4" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - jest-watcher "^25.5.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - realpath-native "^2.0.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" - integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== - dependencies: - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - -"@jest/fake-timers@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" - integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== - dependencies: - "@jest/types" "^25.5.0" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - lolex "^5.0.0" - -"@jest/globals@^25.5.2": - version "25.5.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" - integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/types" "^25.5.0" - expect "^25.5.0" - -"@jest/reporters@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" - integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^25.5.1" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-worker "^25.5.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^3.1.0" - terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" - optionalDependencies: - node-notifier "^6.0.0" - -"@jest/source-map@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" - integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" - integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== - dependencies: - "@jest/console" "^25.5.0" - "@jest/types" "^25.5.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" - integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== - dependencies: - "@jest/test-result" "^25.5.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - -"@jest/transform@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" - integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^25.5.0" - babel-plugin-istanbul "^6.0.0" - chalk "^3.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-regex-util "^25.2.6" - jest-util "^25.5.0" - micromatch "^4.0.2" - pirates "^4.0.1" - realpath-native "^2.0.0" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@rollup/plugin-babel@^5.1.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" - integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" - -"@rollup/plugin-commonjs@^11.0.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" - integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== - dependencies: - "@rollup/pluginutils" "^3.0.8" - commondir "^1.0.1" - estree-walker "^1.0.1" - glob "^7.1.2" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" - -"@rollup/plugin-json@^4.0.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - dependencies: - "@rollup/pluginutils" "^3.0.8" - -"@rollup/plugin-node-resolve@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" - integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.17.0" - -"@rollup/plugin-replace@^2.2.1": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@samverschueren/stream-to-observable@^0.3.0", "@samverschueren/stream-to-observable@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" - integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== - dependencies: - any-observable "^0.3.0" - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@sindresorhus/is@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" - integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== - -"@sindresorhus/is@^4.0.0": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.1.tgz#b88b5724283db80b507cd612caee9a1947412a20" - integrity sha512-BrzrgtaqEre0qfvI8sMTaEvx+bayuhPmfe2rfeUGPPHYr/PLxCOqkOe4TQTDPb+qcqgNcsAtXV/Ew74mcDIE8w== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@size-limit/esbuild@7.0.5": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@size-limit/esbuild/-/esbuild-7.0.5.tgz#1f02a0d41482a349bb66e8b050f2f4d904ad131a" - integrity sha512-ec/XfgTHcfXFflEDgs83gs3XMfB8sn4BISZM7CPHCS72tNkcjVwNRxrKWisb11JZ2kN4glBgCmsXZpoSaEGzXg== - dependencies: - esbuild "^0.14.8" - nanoid "^3.1.30" - -"@size-limit/file@7.0.5": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@size-limit/file/-/file-7.0.5.tgz#e8c8a610f2df408dba02a38dc283666db81948b0" - integrity sha512-DqyuUkmCSHwML6GVmeRr0v6Ih/P3pwmCu6RDWh2QxdDSec1ZnShmFUmcC6rLQDX7KW5aCjK3cs5FNd22Eaqapw== - dependencies: - semver "7.3.5" - -"@size-limit/preset-small-lib@^7.0.5": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@size-limit/preset-small-lib/-/preset-small-lib-7.0.5.tgz#f55f66c5d77b5b8fb8f3d66893a3939aa33ae6ae" - integrity sha512-cWwXDCx9BEpHIjbpHlhpS0JBt+J1U5LCaHHyBhAxevOX7W0aX7nCJwPUmd5liGHq9ui5VyWOtV3lhxce96Qd8A== - dependencies: - "@size-limit/esbuild" "7.0.5" - "@size-limit/file" "7.0.5" - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@szmarczak/http-timer@^4.0.0": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@types/babel__core@^7.1.7": - version "7.1.18" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" - integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/cacheable-request@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" - integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/estree@*": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/jest@^25.2.1": - version "25.2.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" - integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/keyv@*", "@types/keyv@^3.1.1": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" - integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== - dependencies: - "@types/node" "*" - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "17.0.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.8.tgz#50d680c8a8a78fe30abe6906453b21ad8ab0ad7b" - integrity sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^1.19.0": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" - integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== - -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/responselike@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^2.12.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== - dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/eslint-plugin@^5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.0.tgz#382182d5cb062f52aac54434cfc47c28898c8006" - integrity sha512-qT4lr2jysDQBQOPsCCvpPUZHjbABoTJW8V9ZzIYKHMfppJtpdtzszDYsldwhFxlhvrp7aCHeXD1Lb9M1zhwWwQ== - dependencies: - "@typescript-eslint/experimental-utils" "5.9.0" - "@typescript-eslint/scope-manager" "5.9.0" - "@typescript-eslint/type-utils" "5.9.0" - debug "^4.3.2" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.2.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.0.tgz#652762d37d6565ef07af285021b8347b6c79a827" - integrity sha512-ZnLVjBrf26dn7ElyaSKa6uDhqwvAi4jBBmHK1VxuFGPRAxhdi18ubQYSGA7SRiFiES3q9JiBOBHEBStOFkwD2g== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.9.0" - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/typescript-estree" "5.9.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@^2.12.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/parser@^5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.9.0.tgz#fdbb08767a4caa6ca6ccfed5f9ffe9387f0c7d97" - integrity sha512-/6pOPz8yAxEt4PLzgbFRDpZmHnXCeZgPDrh/1DaVKOjvn/UPMlWhbx/gA96xRi2JxY1kBl2AmwVbyROUqys5xQ== - dependencies: - "@typescript-eslint/scope-manager" "5.9.0" - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/typescript-estree" "5.9.0" - debug "^4.3.2" - -"@typescript-eslint/scope-manager@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.0.tgz#02dfef920290c1dcd7b1999455a3eaae7a1a3117" - integrity sha512-DKtdIL49Qxk2a8icF6whRk7uThuVz4A6TCXfjdJSwOsf+9ree7vgQWcx0KOyCdk0i9ETX666p4aMhrRhxhUkyg== - dependencies: - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/visitor-keys" "5.9.0" - -"@typescript-eslint/type-utils@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.9.0.tgz#fd5963ead04bc9b7af9c3a8e534d8d39f1ce5f93" - integrity sha512-uVCb9dJXpBrK1071ri5aEW7ZHdDHAiqEjYznF3HSSvAJXyrkxGOw2Ejibz/q6BXdT8lea8CMI0CzKNFTNI6TEQ== - dependencies: - "@typescript-eslint/experimental-utils" "5.9.0" - debug "^4.3.2" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.0.tgz#e5619803e39d24a03b3369506df196355736e1a3" - integrity sha512-mWp6/b56Umo1rwyGCk8fPIzb9Migo8YOniBGPAQDNC6C52SeyNGN4gsVwQTAR+RS2L5xyajON4hOLwAGwPtUwg== - -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.0.tgz#0e5c6f03f982931abbfbc3c1b9df5fbf92a3490f" - integrity sha512-kxo3xL2mB7XmiVZcECbaDwYCt3qFXz99tBSuVJR4L/sR7CJ+UNAPrYILILktGj1ppfZ/jNt/cWYbziJUlHl1Pw== - dependencies: - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/visitor-keys" "5.9.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.0.tgz#7585677732365e9d27f1878150fab3922784a1a6" - integrity sha512-6zq0mb7LV0ThExKlecvpfepiB+XEtFv/bzx7/jKSgyXTFD7qjmSu1FoiS0x3OZaiS+UIXpH2vd9O89f02RCtgw== - dependencies: - "@typescript-eslint/types" "5.9.0" - eslint-visitor-keys "^3.0.0" - -abab@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn@^6.0.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.0, acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== - -any-observable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" - integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== - -any-observable@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.5.1.tgz#ab7d49ff64ebe6dd3ae26760a3f5a881e8db791e" - integrity sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA== - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-includes@^3.1.3, array-includes@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" - integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - -array.prototype.flatmap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" - integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.19.0" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-exit-hook@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" - integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -asyncro@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" - integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -axe-core@^4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" - integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== - -axios@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" - integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== - dependencies: - follow-redirects "^1.14.4" - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-eslint@^10.0.3: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-jest@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" - integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== - dependencies: - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-annotate-pure-calls@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz#78aa00fd878c4fcde4d49f3da397fcf5defbcce8" - integrity sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA== - -babel-plugin-dev-expression@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz#8aaf52155dfb063ed4ddec6280456fbc256fead4" - integrity sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw== - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" - integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.6.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" - -babel-plugin-polyfill-regenerator@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz#588641af9a2cb4e299b1400c47672a4a104d2459" - integrity sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.0.3" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - -babel-plugin-transform-rename-import@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz#5d9d645f937b0ca5c26a24b2510a06277b6ffd9b" - integrity sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ== - -babel-preset-current-node-syntax@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" - integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -babel-preset-jest@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" - integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== - dependencies: - babel-plugin-jest-hoist "^25.5.0" - babel-preset-current-node-syntax "^0.1.2" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserslist@^4.17.5, browserslist@^4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== - dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -builtin-modules@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - -bytes-iec@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes-iec/-/bytes-iec-3.1.1.tgz#94cd36bf95c2c22a82002c247df8772d1d591083" - integrity sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cacheable-lookup@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz#87be64a18b925234875e10a9bb1ebca4adce6b38" - integrity sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg== - dependencies: - "@types/keyv" "^3.1.1" - keyv "^4.0.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -cacheable-request@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0, callsites@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001286: - version "1.0.30001298" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz#0e690039f62e91c3ea581673d716890512e7ec52" - integrity sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^1.0.0, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-job-number@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-1.2.2.tgz#f4e5918fcaeeda95b604f214be7d7d4a961fe0c0" - integrity sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-cursor@^2.0.0, cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" - integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== - -cli-spinners@^2.2.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== - dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -confusing-browser-globals@^1.0.9: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.20.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" - integrity sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -core-js-pure@^3.19.0: - version "3.20.2" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.2.tgz#5d263565f0e34ceeeccdc4422fae3e84ca6b8c0f" - integrity sha512-CmWHvSKn2vNL6p6StNp1EmMIfVY/pqn3JLAjfZQ8WZGPOlGoO92EkX9/Mk81i6GxvoPXjUqEQnpM3rJ5QxxIOg== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -cssom@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -damerau-levenshtein@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-fns@^1.27.2: - version "1.30.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -decompress-response@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-5.0.0.tgz#7849396e80e3d1eba8cb2f75ef4930f76461cb0f" - integrity sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw== - dependencies: - mimic-response "^2.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" - integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -dotenv@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-11.0.0.tgz#ee37feddf8ada6d348a79e198312d4a8abfd1c1e" - integrity sha512-Fp/b504Y5W+e+FpCxTFMUZ7ZEQkQYF0rx+KZtmwixJxGQbLHrhCwo3FjZgNC8vIfrSi29PABNbMoCGD9YoiXbQ== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.4.17: - version "1.4.38" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz#10ea58d73d36b13e78d5024f3b74a352d3958d01" - integrity sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ== - -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.4, enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild-android-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" - integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== - -esbuild-darwin-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" - integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== - -esbuild-darwin-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" - integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== - -esbuild-freebsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" - integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== - -esbuild-freebsd-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" - integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== - -esbuild-linux-32@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" - integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== - -esbuild-linux-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" - integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== - -esbuild-linux-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" - integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== - -esbuild-linux-arm@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" - integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== - -esbuild-linux-mips64le@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" - integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== - -esbuild-linux-ppc64le@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" - integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== - -esbuild-linux-s390x@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" - integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== - -esbuild-netbsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" - integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== - -esbuild-openbsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" - integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== - -esbuild-sunos-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" - integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== - -esbuild-windows-32@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" - integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== - -esbuild-windows-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" - integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== - -esbuild-windows-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" - integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== - -esbuild@^0.14.8: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" - integrity sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg== - optionalDependencies: - esbuild-android-arm64 "0.14.11" - esbuild-darwin-64 "0.14.11" - esbuild-darwin-arm64 "0.14.11" - esbuild-freebsd-64 "0.14.11" - esbuild-freebsd-arm64 "0.14.11" - esbuild-linux-32 "0.14.11" - esbuild-linux-64 "0.14.11" - esbuild-linux-arm "0.14.11" - esbuild-linux-arm64 "0.14.11" - esbuild-linux-mips64le "0.14.11" - esbuild-linux-ppc64le "0.14.11" - esbuild-linux-s390x "0.14.11" - esbuild-netbsd-64 "0.14.11" - esbuild-openbsd-64 "0.14.11" - esbuild-sunos-64 "0.14.11" - esbuild-windows-32 "0.14.11" - esbuild-windows-64 "0.14.11" - esbuild-windows-arm64 "0.14.11" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-goat@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-3.0.0.tgz#e8b5fb658553fe8a3c4959c316c6ebb8c842b19c" - integrity sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.11.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^6.0.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" - -eslint-config-prettier@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== - -eslint-config-react-app@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" - integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" - integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-flowtype@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" - integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== - dependencies: - lodash "^4.17.15" - -eslint-plugin-import@^2.18.2: - version "2.25.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" - integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.2" - has "^1.0.3" - is-core-module "^2.8.0" - is-glob "^4.0.3" - minimatch "^3.0.4" - object.values "^1.1.5" - resolve "^1.20.0" - tsconfig-paths "^3.12.0" - -eslint-plugin-jsx-a11y@^6.2.3: - version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" - integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== - dependencies: - "@babel/runtime" "^7.16.3" - aria-query "^4.2.2" - array-includes "^3.1.4" - ast-types-flow "^0.0.7" - axe-core "^4.3.5" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.7" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.2.1" - language-tags "^1.0.5" - minimatch "^3.0.4" - -eslint-plugin-prettier@^3.1.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" - integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== - -eslint-plugin-react@^7.14.3: - version "7.28.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" - integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== - dependencies: - array-includes "^3.1.4" - array.prototype.flatmap "^1.2.5" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.5" - object.fromentries "^2.0.5" - object.hasown "^1.1.0" - object.values "^1.1.5" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.6" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153" - integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" - integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== - -eslint@^6.1.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.6.0.tgz#4318c6a31c5584838c1a2e940c478190f58d558e" - integrity sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw== - dependencies: - "@eslint/eslintrc" "^1.0.5" - "@humanwhocodes/config-array" "^0.9.2" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.0" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.1.0" - espree "^9.3.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.2.0" - semver "^7.2.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^9.2.0, espree@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8" - integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ== - dependencies: - acorn "^8.7.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^3.1.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1, esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.0.0, execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" - integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== - dependencies: - "@jest/types" "^25.5.0" - ansi-styles "^4.0.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.9.tgz#8f55f664b68a236bd29fa165817fc44f2b11faba" - integrity sha512-MBwILhhD92sziIrMQwpqcuGERF+BH99ei2a3XsGJuqEKcSycAL+w0HWokFenZXona+kjFr82Lf71eTxNRC06XQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== - -follow-redirects@^1.14.4: - version "1.14.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd" - integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -github-url-from-git@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" - integrity sha1-+YX+3MCpqledyI16/waNVcxiUaA= - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" - integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== - dependencies: - ini "1.3.7" - -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0, globals@^13.9.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== - dependencies: - type-fest "^0.20.2" - -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== - -globby@^11.0.1, globby@^11.0.4: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -got@^10.6.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/got/-/got-10.7.0.tgz#62889dbcd6cca32cd6a154cc2d0c6895121d091f" - integrity sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg== - dependencies: - "@sindresorhus/is" "^2.0.0" - "@szmarczak/http-timer" "^4.0.0" - "@types/cacheable-request" "^6.0.1" - cacheable-lookup "^2.0.0" - cacheable-request "^7.0.1" - decompress-response "^5.0.0" - duplexer3 "^0.1.4" - get-stream "^5.0.0" - lowercase-keys "^2.0.0" - mimic-response "^2.1.0" - p-cancelable "^2.0.0" - p-event "^4.0.0" - responselike "^2.0.0" - to-readable-stream "^2.0.0" - type-fest "^0.10.0" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" - integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -humanize-duration@^3.15.3: - version "3.27.1" - resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.27.1.tgz#2cd4ea4b03bd92184aee6d90d77a8f3d7628df69" - integrity sha512-jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA== - -husky@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore-walk@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" - integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inquirer-autosubmit-prompt@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/inquirer-autosubmit-prompt/-/inquirer-autosubmit-prompt-0.2.0.tgz#a10f952af4f7bac9c43010e3e9e0891d7e8d15a1" - integrity sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q== - dependencies: - chalk "^2.4.1" - inquirer "^6.2.1" - rxjs "^6.3.3" - -inquirer@^6.2.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.0.0, inquirer@^7.3.3: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-observable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" - integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== - dependencies: - symbol-observable "^1.1.0" - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.1, is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-promise@^2.1.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-reference@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-scoped@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-2.1.0.tgz#fef0713772658bdf5bee418608267ddae6d3566d" - integrity sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ== - dependencies: - scoped-regex "^2.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-url-superb@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-url-superb/-/is-url-superb-4.0.0.tgz#b54d1d2499bb16792748ac967aa3ecb41a33a8c2" - integrity sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -issue-regex@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/issue-regex/-/issue-regex-3.1.0.tgz#0671f094d6449c5b712fac3c9562aecb727d709e" - integrity sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.3.tgz#4bcae3103b94518117930d51283690960b50d3c2" - integrity sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" - integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== - dependencies: - "@jest/types" "^25.5.0" - execa "^3.2.0" - throat "^5.0.0" - -jest-cli@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" - integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== - dependencies: - "@jest/core" "^25.5.4" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^25.5.4" - jest-util "^25.5.0" - jest-validate "^25.5.0" - prompts "^2.0.1" - realpath-native "^2.0.0" - yargs "^15.3.1" - -jest-config@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" - integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.5.4" - "@jest/types" "^25.5.0" - babel-jest "^25.5.1" - chalk "^3.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^25.5.0" - jest-environment-node "^25.5.0" - jest-get-type "^25.2.6" - jest-jasmine2 "^25.5.4" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - micromatch "^4.0.2" - pretty-format "^25.5.0" - realpath-native "^2.0.0" - -jest-diff@^25.2.1, jest-diff@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-docblock@^25.3.0: - version "25.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" - integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== - dependencies: - detect-newline "^3.0.0" - -jest-each@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" - integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-get-type "^25.2.6" - jest-util "^25.5.0" - pretty-format "^25.5.0" - -jest-environment-jsdom@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" - integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - jsdom "^15.2.1" - -jest-environment-node@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" - integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - semver "^6.3.0" - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-haste-map@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" - integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== - dependencies: - "@jest/types" "^25.5.0" - "@types/graceful-fs" "^4.1.2" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-serializer "^25.5.0" - jest-util "^25.5.0" - jest-worker "^25.5.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" - integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.5.0" - "@jest/source-map" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - co "^4.6.0" - expect "^25.5.0" - is-generator-fn "^2.0.0" - jest-each "^25.5.0" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - pretty-format "^25.5.0" - throat "^5.0.0" - -jest-leak-detector@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" - integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== - dependencies: - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-matcher-utils@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" - integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== - dependencies: - chalk "^3.0.0" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-message-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" - integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" - -jest-mock@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" - integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== - dependencies: - "@jest/types" "^25.5.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^25.2.1, jest-regex-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" - integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== - -jest-resolve-dependencies@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" - integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== - dependencies: - "@jest/types" "^25.5.0" - jest-regex-util "^25.2.6" - jest-snapshot "^25.5.1" - -jest-resolve@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" - integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== - dependencies: - "@jest/types" "^25.5.0" - browser-resolve "^1.11.3" - chalk "^3.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - read-pkg-up "^7.0.1" - realpath-native "^2.0.0" - resolve "^1.17.0" - slash "^3.0.0" - -jest-runner@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" - integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== - dependencies: - "@jest/console" "^25.5.0" - "@jest/environment" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-docblock "^25.3.0" - jest-haste-map "^25.5.1" - jest-jasmine2 "^25.5.4" - jest-leak-detector "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - jest-runtime "^25.5.4" - jest-util "^25.5.0" - jest-worker "^25.5.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" - integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== - dependencies: - "@jest/console" "^25.5.0" - "@jest/environment" "^25.5.0" - "@jest/globals" "^25.5.2" - "@jest/source-map" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - realpath-native "^2.0.0" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" - integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== - dependencies: - graceful-fs "^4.2.4" - -jest-snapshot@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" - integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/prettier" "^1.19.0" - chalk "^3.0.0" - expect "^25.5.0" - graceful-fs "^4.2.4" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - make-dir "^3.0.0" - natural-compare "^1.4.0" - pretty-format "^25.5.0" - semver "^6.3.0" - -jest-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" - integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" - -jest-validate@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" - integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== - dependencies: - "@jest/types" "^25.5.0" - camelcase "^5.3.1" - chalk "^3.0.0" - jest-get-type "^25.2.6" - leven "^3.1.0" - pretty-format "^25.5.0" - -jest-watch-typeahead@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz#903dba6112f22daae7e90b0a271853f7ff182008" - integrity sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-regex-util "^25.2.1" - jest-watcher "^25.2.4" - slash "^3.0.0" - string-length "^3.1.0" - strip-ansi "^6.0.0" - -jest-watcher@^25.2.4, jest-watcher@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" - integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== - dependencies: - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-util "^25.5.0" - string-length "^3.1.0" - -jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^25.3.0: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" - integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== - dependencies: - "@jest/core" "^25.5.4" - import-local "^3.0.2" - jest-cli "^25.5.4" - -jpjs@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7" - integrity sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" - integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== - dependencies: - array-includes "^3.1.3" - object.assign "^4.1.2" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -keyv@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.5.tgz#bb12b467aba372fab2a44d4420c00d3c4ebd484c" - integrity sha512-531pkGLqV3BMg0eDqqJFI0R1mkK1Nm5xIP2mM6keP5P8WfFtCkg2IOwplTUmlGoTgIg9yQYZ/kdihhz89XH3vA== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -language-subtag-registry@~0.3.2: - version "0.3.21" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" - integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== - -language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= - dependencies: - language-subtag-registry "~0.3.2" - -latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lilconfig@2.0.4, lilconfig@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" - integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lint-staged@^12.1.7: - version "12.1.7" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.1.7.tgz#fe9137992ac18a456422bb8484dd30be0140629f" - integrity sha512-bltv/ejiLWtowExpjU+s5z8j1Byjg9AlmaAjMmqNbIicY69u6sYIwXGg0dCn0TlkrrY2CphtHIXAkbZ+1VoWQQ== - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.16" - commander "^8.3.0" - debug "^4.3.3" - execa "^5.1.1" - lilconfig "2.0.4" - listr2 "^3.13.5" - micromatch "^4.0.4" - normalize-path "^3.0.0" - object-inspect "^1.11.1" - string-argv "^0.3.1" - supports-color "^9.2.1" - yaml "^1.10.2" - -listr-input@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/listr-input/-/listr-input-0.2.1.tgz#ce735c34530683580388fdf9462ecfebd3b66126" - integrity sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg== - dependencies: - inquirer "^7.0.0" - inquirer-autosubmit-prompt "^0.2.0" - rxjs "^6.5.3" - through "^2.3.8" - -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= - -listr-update-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" - integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^2.3.0" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" - integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== - dependencies: - chalk "^2.4.1" - cli-cursor "^2.1.0" - date-fns "^1.27.2" - figures "^2.0.0" - -listr2@^3.13.5: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -listr@^0.14.3: - version "0.14.3" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" - integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== - dependencies: - "@samverschueren/stream-to-observable" "^0.3.0" - is-observable "^1.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.5.0" - listr-verbose-renderer "^0.5.0" - p-map "^2.0.0" - rxjs "^6.3.3" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.zip@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" - integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= - -lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= - dependencies: - chalk "^1.0.0" - -log-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - -loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.25.2, magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-age-cleaner@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -meow@^8.1.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" - integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^2.0.0, mimic-response@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.x, mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nanoid@^3.1.30: - version "3.1.30" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" - integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -nanospinner@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/nanospinner/-/nanospinner-0.6.0.tgz#1943a2668b1ff93a02847c1d9c4655647d52e578" - integrity sha512-G2QQwVJListXbtsBW5r5kJs8WXybsO9/SQxzcvSmPRSIOQOeR0v/ETI9hncOna0tzWscdjjcCZUVCJoR4eJlag== - dependencies: - picocolors "^1.0.0" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -new-github-release-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/new-github-release-url/-/new-github-release-url-1.0.0.tgz#493847e6fecce39c247e9d89929be773d2e7f777" - integrity sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A== - dependencies: - type-fest "^0.4.1" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-notifier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" - integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^6.3.0" - shellwords "^0.1.1" - which "^1.3.1" - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -np@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/np/-/np-7.6.0.tgz#779e885a9a98246a1d7bbf6e4c1469d348929ac1" - integrity sha512-WWGZtfNkE6MEkI7LE8NtG7poTqzTHj/tssBzcPnBAdMVPXkXDtX2wk0ptrj8YZ3u4TFmGSqioSohdud86aJxSg== - dependencies: - "@samverschueren/stream-to-observable" "^0.3.1" - any-observable "^0.5.1" - async-exit-hook "^2.0.1" - chalk "^4.1.0" - cosmiconfig "^7.0.0" - del "^6.0.0" - escape-goat "^3.0.0" - escape-string-regexp "^4.0.0" - execa "^5.0.0" - github-url-from-git "^1.5.0" - has-yarn "^2.1.0" - hosted-git-info "^3.0.7" - ignore-walk "^3.0.3" - import-local "^3.0.2" - inquirer "^7.3.3" - is-installed-globally "^0.3.2" - is-interactive "^1.0.0" - is-scoped "^2.1.0" - issue-regex "^3.1.0" - listr "^0.14.3" - listr-input "^0.2.1" - log-symbols "^4.0.0" - meow "^8.1.0" - minimatch "^3.0.4" - new-github-release-url "^1.0.0" - npm-name "^6.0.1" - onetime "^5.1.2" - open "^7.3.0" - ow "^0.21.0" - p-memoize "^4.0.1" - p-timeout "^4.1.0" - pkg-dir "^5.0.0" - read-pkg-up "^7.0.1" - rxjs "^6.6.3" - semver "^7.3.4" - split "^1.0.1" - symbol-observable "^3.0.0" - terminal-link "^2.1.1" - update-notifier "^5.0.1" - -npm-name@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/npm-name/-/npm-name-6.0.1.tgz#73e05b4cb6332766a6727b2635e247bb4107255b" - integrity sha512-fhKRvUAxaYzMEUZim4mXWyfFbVS+M1CbrCLdAo3txWzrctxKka/h+KaBW0O9Cz5uOM00Nldn2JLWhuwnyW3SUw== - dependencies: - got "^10.6.0" - is-scoped "^2.1.0" - is-url-superb "^4.0.0" - lodash.zip "^4.2.0" - org-regex "^1.0.0" - p-map "^3.0.0" - registry-auth-token "^4.0.0" - registry-url "^5.1.0" - validate-npm-package-name "^3.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.11.1, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.entries@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.fromentries@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.hasown@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" - integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^7.3.0: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -optionator@^0.8.1, optionator@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^4.0.3: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" - integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== - dependencies: - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-spinners "^2.2.0" - is-interactive "^1.0.0" - log-symbols "^3.0.0" - mute-stream "0.0.8" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -org-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/org-regex/-/org-regex-1.0.0.tgz#67ebb9ab3cb124fea5841289d60b59434f041a59" - integrity sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ== - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -ow@^0.21.0: - version "0.21.0" - resolved "https://registry.yarnpkg.com/ow/-/ow-0.21.0.tgz#c2df2ad78d1bfc2ea9cdca311b7a6275258df621" - integrity sha512-dlsoDe39g7mhdsdrC1R/YwjT7yjVqE3svWwOlMGvN690waBkgEZBmKBdkmKvSt5/wZ6E0Jn/nIesPqMZOpPKqw== - dependencies: - "@sindresorhus/is" "^4.0.0" - callsites "^3.1.0" - dot-prop "^6.0.1" - lodash.isequal "^4.5.0" - type-fest "^0.20.2" - vali-date "^1.0.0" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-event@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.2.0, p-limit@^2.2.2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-memoize@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/p-memoize/-/p-memoize-4.0.4.tgz#90a4c4668866737fc5c8364c56b06f6ca44afb15" - integrity sha512-ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw== - dependencies: - map-age-cleaner "^0.1.3" - mimic-fn "^3.0.0" - p-settle "^4.1.1" - -p-reflect@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-reflect/-/p-reflect-2.1.0.tgz#5d67c7b3c577c4e780b9451fc9129675bd99fe67" - integrity sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg== - -p-settle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/p-settle/-/p-settle-4.1.1.tgz#37fbceb2b02c9efc28658fc8d36949922266035f" - integrity sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ== - dependencies: - p-limit "^2.2.2" - p-reflect "^2.1.0" - -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-timeout@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-4.1.0.tgz#788253c0452ab0ffecf18a62dff94ff1bd09ca0a" - integrity sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw== - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -pascal-case@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" - integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-dir@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== - -prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -progress-estimator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/progress-estimator/-/progress-estimator-0.2.2.tgz#1c3947a5782ea56e40c8fccc290ac7ceeb1b91cb" - integrity sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA== - dependencies: - chalk "^2.4.1" - cli-spinners "^1.3.1" - humanize-duration "^3.15.3" - log-update "^2.3.0" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^16.12.0, react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -realpath-native@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" - integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpp@^3.0.0, regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0, registry-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.20.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" - integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== - dependencies: - is-core-module "^2.8.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup-plugin-sourcemaps@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" - integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== - dependencies: - "@rollup/pluginutils" "^3.0.9" - source-map-resolve "^0.6.0" - -rollup-plugin-terser@^5.1.2: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== - dependencies: - "@babel/code-frame" "^7.5.5" - jest-worker "^24.9.0" - rollup-pluginutils "^2.8.2" - serialize-javascript "^4.0.0" - terser "^4.6.2" - -rollup-plugin-typescript2@^0.27.3: - version "0.27.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz#cd9455ac026d325b20c5728d2cc54a08a771b68b" - integrity sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - find-cache-dir "^3.3.1" - fs-extra "8.1.0" - resolve "1.17.0" - tslib "2.0.1" - -rollup-pluginutils@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - -rollup@^1.32.1: - version "1.32.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" - integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== - dependencies: - "@types/estree" "*" - "@types/node" "*" - acorn "^7.1.0" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.2.0, run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.6.0, rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -rxjs@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.1.tgz#af73df343cbcab37628197f43ea0c8256f54b157" - integrity sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ== - dependencies: - tslib "^2.1.0" - -sade@^1.4.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -scoped-regex@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-2.1.0.tgz#7b9be845d81fd9d21d1ec97c61a0b7cf86d2015f" - integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@6.x, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.3.5, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.3: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -size-limit@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-7.0.5.tgz#0a211825b540595805111c45d88a39a9d0dc8b4e" - integrity sha512-dve+Vaq/a6H7QZhFbozAUBKNO9ZnZkPX3EF1ETI8yv3YCMdC7e63HmVZDXKB//o3FCTHqtZQ0p3ZtOwN/PSiqQ== - dependencies: - bytes-iec "^3.1.1" - chokidar "^3.5.2" - ci-job-number "^1.2.2" - globby "^11.0.4" - lilconfig "^2.0.3" - mkdirp "^1.0.4" - nanospinner "^0.6.0" - picocolors "^1.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - -source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.0.tgz#5ab00980cfb29f43e736b113a120a73a0fb569d3" - integrity sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.matchall@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" - integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" - integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== - -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -symbol-observable@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -symbol-observable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" - integrity sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q== - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -terminal-link@^2.0.0, terminal-link@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser@^4.6.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@2, through@^2.3.6, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tiny-glob@^0.2.6: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-readable-stream@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-2.1.0.tgz#82880316121bea662cdc226adb30addb50cb06e8" - integrity sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -ts-jest@^25.3.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" - integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - micromatch "4.x" - mkdirp "0.x" - semver "6.x" - yargs-parser "18.x" - -tsconfig-paths@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tsdx@^0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/tsdx/-/tsdx-0.14.1.tgz#8771d509b6fc523ad971bae3a63ebe3a88355ab3" - integrity sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w== - dependencies: - "@babel/core" "^7.4.4" - "@babel/helper-module-imports" "^7.0.0" - "@babel/parser" "^7.11.5" - "@babel/plugin-proposal-class-properties" "^7.4.4" - "@babel/preset-env" "^7.11.0" - "@babel/traverse" "^7.11.5" - "@rollup/plugin-babel" "^5.1.0" - "@rollup/plugin-commonjs" "^11.0.0" - "@rollup/plugin-json" "^4.0.0" - "@rollup/plugin-node-resolve" "^9.0.0" - "@rollup/plugin-replace" "^2.2.1" - "@types/jest" "^25.2.1" - "@typescript-eslint/eslint-plugin" "^2.12.0" - "@typescript-eslint/parser" "^2.12.0" - ansi-escapes "^4.2.1" - asyncro "^3.0.0" - babel-eslint "^10.0.3" - babel-plugin-annotate-pure-calls "^0.4.0" - babel-plugin-dev-expression "^0.2.1" - babel-plugin-macros "^2.6.1" - babel-plugin-polyfill-regenerator "^0.0.4" - babel-plugin-transform-rename-import "^2.3.0" - camelcase "^6.0.0" - chalk "^4.0.0" - enquirer "^2.3.4" - eslint "^6.1.0" - eslint-config-prettier "^6.0.0" - eslint-config-react-app "^5.2.1" - eslint-plugin-flowtype "^3.13.0" - eslint-plugin-import "^2.18.2" - eslint-plugin-jsx-a11y "^6.2.3" - eslint-plugin-prettier "^3.1.0" - eslint-plugin-react "^7.14.3" - eslint-plugin-react-hooks "^2.2.0" - execa "^4.0.3" - fs-extra "^9.0.0" - jest "^25.3.0" - jest-watch-typeahead "^0.5.0" - jpjs "^1.2.1" - lodash.merge "^4.6.2" - ora "^4.0.3" - pascal-case "^3.1.1" - prettier "^1.19.1" - progress-estimator "^0.2.2" - regenerator-runtime "^0.13.7" - rollup "^1.32.1" - rollup-plugin-sourcemaps "^0.6.2" - rollup-plugin-terser "^5.1.2" - rollup-plugin-typescript2 "^0.27.3" - sade "^1.4.2" - semver "^7.1.1" - shelljs "^0.8.3" - tiny-glob "^0.2.6" - ts-jest "^25.3.1" - tslib "^1.9.3" - typescript "^3.7.3" - -tslib@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" - integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== - -tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.17.1, tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.10.0.tgz#7f06b2b9fbfc581068d1341ffabd0349ceafc642" - integrity sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" - integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^3.7.3: - version "3.9.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" - integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== - -typescript@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" - integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -update-notifier@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -vali-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" - integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - dependencies: - defaults "^1.0.3" - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^7.0.0: - version "7.5.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" - integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@18.x, yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zustand@^3.6.8: - version "3.6.8" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.6.8.tgz#17f24351aa9e1fbf46f3addb0bcb81b05940d79f" - integrity sha512-8dqxig1l/o/N4M3DGxhweLVyCvNsd40oU3fXuY4MfqX1notavmjljCnSeTN3FGfYzbo963w4un2ChYsPB/0gKA== From 4c0bbcbdbce5df65fdc64c0e47bd48883f5ab0af Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 19:17:16 +0800 Subject: [PATCH 03/44] chore: remove unused deps --- package.json | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index aa1a0f0..e03330c 100644 --- a/package.json +++ b/package.json @@ -2,14 +2,7 @@ "version": "1.2.1-0", "license": "MIT", "main": "dist/index.js", - "typings": "dist/index.d.ts", - "files": [ - "dist", - "src" - ], - "engines": { - "node": ">=10" - }, + "types": "dist/index.d.ts", "scripts": { "dev": "tsup src/index.ts", "build": "tsup src/index.ts --dts --format cjs,esm", @@ -19,40 +12,33 @@ }, "name": "paymongo.js", "author": "princejoogie", - "module": "dist/paymongo.js.esm.js", "size-limit": [ { - "path": "dist/paymongo.js.cjs.production.min.js", - "limit": "15 KB" + "path": "dist/index.js", + "limit": "10 KB" }, { - "path": "dist/paymongo.js.esm.js", - "limit": "15 KB" + "path": "dist/index.mjs", + "limit": "10 KB" } ], "devDependencies": { - "@size-limit/preset-small-lib": "^7.0.5", "@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/parser": "^5.9.0", - "dotenv": "^11.0.0", + "dotenv": "^16.0.3", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", - "lint-staged": "^12.1.7", "np": "^7.6.0", - "prettier": "2.5.1", - "size-limit": "^7.0.5", + "prettier": "2.8.6", + "size-limit": "^8.2.4", "tslib": "^2.3.1", "tsup": "^6.7.0", - "typescript": "^4.5.4" + "typescript": "^5.0.2" }, "dependencies": { "axios": "^0.24.0", "zustand": "^3.6.8" }, - "lint-staged": { - "*.{ts,d.ts}": "eslint --cache --fix --no-ignore", - "*.{ts,d.ts,md,json}": "prettier --write" - }, "repository": { "type": "git", "url": "https://github.com/princejoogie/paymongo.js.git" From 167063173acfd77a469abf6afbd5fbd7f15f5b6d Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 19:21:30 +0800 Subject: [PATCH 04/44] chore: update packages --- .prettierrc | 9 + .prettierrc.js | 9 - .vscode/settings.json | 3 - package.json | 15 +- pnpm-lock.yaml | 2533 ++--------------------------------------- 5 files changed, 105 insertions(+), 2464 deletions(-) create mode 100644 .prettierrc delete mode 100644 .prettierrc.js delete mode 100644 .vscode/settings.json diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..0f09888 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": false, + "trailingComma": "es5", + "bracketSpacing": true, + "endOfLine": "auto" +} diff --git a/.prettierrc.js b/.prettierrc.js deleted file mode 100644 index d77bebe..0000000 --- a/.prettierrc.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - tabWidth: 2, - useTabs: false, - semi: true, - singleQuote: false, - trailingComma: "es5", - bracketSpacing: true, - endOfLine: "auto", -}; diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 767e997..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cSpell.words": ["gcash", "livemode", "paymaya", "paymongo", "zustand"] -} diff --git a/package.json b/package.json index e03330c..e979c0d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,14 @@ "version": "1.2.1-0", "license": "MIT", "main": "dist/index.js", + "module": "dist/index.mjs", "types": "dist/index.d.ts", + "name": "paymongo.js", + "author": "princejoogie", + "repository": { + "type": "git", + "url": "https://github.com/princejoogie/paymongo.js.git" + }, "scripts": { "dev": "tsup src/index.ts", "build": "tsup src/index.ts --dts --format cjs,esm", @@ -10,8 +17,6 @@ "lint": "eslint --fix src/**/*.{js,ts}", "size": "size-limit" }, - "name": "paymongo.js", - "author": "princejoogie", "size-limit": [ { "path": "dist/index.js", @@ -28,7 +33,6 @@ "dotenv": "^16.0.3", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", - "np": "^7.6.0", "prettier": "2.8.6", "size-limit": "^8.2.4", "tslib": "^2.3.1", @@ -39,8 +43,7 @@ "axios": "^0.24.0", "zustand": "^3.6.8" }, - "repository": { - "type": "git", - "url": "https://github.com/princejoogie/paymongo.js.git" + "publishConfig": { + "access": "public" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 18c0855..6b9a7db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,20 +1,17 @@ lockfileVersion: 5.4 specifiers: - '@size-limit/preset-small-lib': ^7.0.5 '@typescript-eslint/eslint-plugin': ^5.9.0 '@typescript-eslint/parser': ^5.9.0 axios: ^0.24.0 - dotenv: ^11.0.0 + dotenv: ^16.0.3 eslint: ^8.6.0 eslint-config-prettier: ^8.3.0 - lint-staged: ^12.1.7 - np: ^7.6.0 - prettier: 2.5.1 - size-limit: ^7.0.5 + prettier: 2.8.6 + size-limit: ^8.2.4 tslib: ^2.3.1 tsup: ^6.7.0 - typescript: ^4.5.4 + typescript: ^5.0.2 zustand: ^3.6.8 dependencies: @@ -22,43 +19,19 @@ dependencies: zustand: 3.7.2 devDependencies: - '@size-limit/preset-small-lib': 7.0.8_size-limit@7.0.8 - '@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m - dotenv: 11.0.0 + '@typescript-eslint/eslint-plugin': 5.56.0_2hcjazgfnbtq42tcc73br2vup4 + '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu + dotenv: 16.0.3 eslint: 8.36.0 eslint-config-prettier: 8.8.0_eslint@8.36.0 - lint-staged: 12.5.0 - np: 7.6.4 - prettier: 2.5.1 - size-limit: 7.0.8 + prettier: 2.8.6 + size-limit: 8.2.4 tslib: 2.5.0 - tsup: 6.7.0_typescript@4.9.5 - typescript: 4.9.5 + tsup: 6.7.0_typescript@5.0.2 + typescript: 5.0.2 packages: - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - - /@babel/helper-validator-identifier/7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/highlight/7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@esbuild/android-arm/0.17.12: resolution: {integrity: sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ==} engines: {node: '>=12'} @@ -149,15 +122,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.14.54: - resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64/0.17.12: resolution: {integrity: sha512-GTOEtj8h9qPKXCyiBBnHconSCV9LwFyx/gv3Phw0pa25qPYjVuuGZ4Dk14bGCfGX3qKF0+ceeQvwmtI+aYBbVA==} engines: {node: '>=12'} @@ -344,134 +308,15 @@ packages: fastq: 1.15.0 dev: true - /@samverschueren/stream-to-observable/0.3.1_rxjs@6.6.7: - resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} - engines: {node: '>=6'} - peerDependencies: - rxjs: '*' - zen-observable: '*' - peerDependenciesMeta: - rxjs: - optional: true - zen-observable: - optional: true - dependencies: - any-observable: 0.3.0_rxjs@6.6.7 - rxjs: 6.6.7 - transitivePeerDependencies: - - zenObservable - dev: true - - /@sindresorhus/is/0.14.0: - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} - dev: true - - /@sindresorhus/is/2.1.1: - resolution: {integrity: sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==} - engines: {node: '>=10'} - dev: true - - /@sindresorhus/is/4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - dev: true - - /@size-limit/esbuild/7.0.8_size-limit@7.0.8: - resolution: {integrity: sha512-AzCrxJJThDvHrBNoolebYVgXu46c6HuS3fOxoXr3V0YWNM0qz81z5F3j7RruzboZnls8ZgME4WrH6GM5rB9gtA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - peerDependencies: - size-limit: 7.0.8 - dependencies: - esbuild: 0.14.54 - nanoid: 3.3.4 - size-limit: 7.0.8 - dev: true - - /@size-limit/file/7.0.8_size-limit@7.0.8: - resolution: {integrity: sha512-1KeFQuMXIXAH/iELqIX7x+YNYDFvzIvmxcp9PrdwEoSNL0dXdaDIo9WE/yz8xvOmUcKaLfqbWkL75DM0k91WHQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - peerDependencies: - size-limit: 7.0.8 - dependencies: - semver: 7.3.5 - size-limit: 7.0.8 - dev: true - - /@size-limit/preset-small-lib/7.0.8_size-limit@7.0.8: - resolution: {integrity: sha512-CT8nIYA/c2CSD+X4rAUgwqYccQMahJ6rBnaZxvi3YKFdkXIbuGNXHNjHsYaFksgwG9P4UjG/unyO5L73f3zQBw==} - peerDependencies: - size-limit: 7.0.8 - dependencies: - '@size-limit/esbuild': 7.0.8_size-limit@7.0.8 - '@size-limit/file': 7.0.8_size-limit@7.0.8 - size-limit: 7.0.8 - dev: true - - /@szmarczak/http-timer/1.1.2: - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - dependencies: - defer-to-connect: 1.1.3 - dev: true - - /@szmarczak/http-timer/4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - dependencies: - defer-to-connect: 2.0.1 - dev: true - - /@types/cacheable-request/6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - dependencies: - '@types/http-cache-semantics': 4.0.1 - '@types/keyv': 3.1.4 - '@types/node': 18.15.5 - '@types/responselike': 1.0.0 - dev: true - - /@types/http-cache-semantics/4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - dev: true - /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/keyv/3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 18.15.5 - dev: true - - /@types/minimist/1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true - - /@types/node/18.15.5: - resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} - dev: true - - /@types/normalize-package-data/2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true - - /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true - - /@types/responselike/1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 18.15.5 - dev: true - /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.56.0_iskin7c6dxqunwflhstekcjqmq: + /@typescript-eslint/eslint-plugin/5.56.0_2hcjazgfnbtq42tcc73br2vup4: resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -483,23 +328,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/type-utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m - '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/type-utils': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu + '@typescript-eslint/utils': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu debug: 4.3.4 eslint: 8.36.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.2 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.56.0_vgl77cfdswitgr47lm5swmv43m: + /@typescript-eslint/parser/5.56.0_j4766f7ecgqbon3u7zlxn5zszu: resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -511,10 +356,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.56.0 '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 5.56.0_typescript@5.0.2 debug: 4.3.4 eslint: 8.36.0 - typescript: 4.9.5 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true @@ -527,7 +372,7 @@ packages: '@typescript-eslint/visitor-keys': 5.56.0 dev: true - /@typescript-eslint/type-utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: + /@typescript-eslint/type-utils/5.56.0_j4766f7ecgqbon3u7zlxn5zszu: resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -537,12 +382,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/typescript-estree': 5.56.0_typescript@5.0.2 + '@typescript-eslint/utils': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu debug: 4.3.4 eslint: 8.36.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.2 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true @@ -552,7 +397,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.56.0_typescript@4.9.5: + /@typescript-eslint/typescript-estree/5.56.0_typescript@5.0.2: resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -567,13 +412,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.2 + typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: + /@typescript-eslint/utils/5.56.0_j4766f7ecgqbon3u7zlxn5zszu: resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -584,7 +429,7 @@ packages: '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.56.0 '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 5.56.0_typescript@5.0.2 eslint: 8.36.0 eslint-scope: 5.1.1 semver: 7.3.8 @@ -615,14 +460,6 @@ packages: hasBin: true dev: true - /aggregate-error/3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - /ajv/6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -632,61 +469,11 @@ packages: uri-js: 4.4.1 dev: true - /ansi-align/3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - dependencies: - string-width: 4.2.3 - dev: true - - /ansi-escapes/3.2.0: - resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} - engines: {node: '>=4'} - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex/2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: true - - /ansi-regex/3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} - dev: true - - /ansi-regex/4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - dev: true - /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} dev: true - /ansi-regex/6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true - - /ansi-styles/2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -694,41 +481,6 @@ packages: color-convert: 2.0.1 dev: true - /ansi-styles/6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - - /any-observable/0.3.0_rxjs@6.6.7: - resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} - engines: {node: '>=6'} - peerDependencies: - rxjs: '*' - zenObservable: '*' - peerDependenciesMeta: - rxjs: - optional: true - zenObservable: - optional: true - dependencies: - rxjs: 6.6.7 - dev: true - - /any-observable/0.5.1_rxjs@6.6.7: - resolution: {integrity: sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA==} - engines: {node: '>=8'} - peerDependencies: - rxjs: '*' - zen-observable: '*' - peerDependenciesMeta: - rxjs: - optional: true - zen-observable: - optional: true - dependencies: - rxjs: 6.6.7 - dev: true - /any-promise/1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -750,21 +502,6 @@ packages: engines: {node: '>=8'} dev: true - /arrify/1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: true - - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /async-exit-hook/2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} - dev: true - /axios/0.24.0: resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: @@ -782,20 +519,6 @@ packages: engines: {node: '>=8'} dev: true - /boxen/5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - dev: true - /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -810,10 +533,6 @@ packages: fill-range: 7.0.1 dev: true - /builtins/1.0.3: - resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} - dev: true - /bundle-require/4.0.1_esbuild@0.17.12: resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -834,84 +553,11 @@ packages: engines: {node: '>=8'} dev: true - /cacheable-lookup/2.0.1: - resolution: {integrity: sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==} - engines: {node: '>=10'} - dependencies: - '@types/keyv': 3.1.4 - keyv: 4.5.2 - dev: true - - /cacheable-request/6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 - dev: true - - /cacheable-request/7.0.2: - resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.2 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - dev: true - /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true - /camelcase-keys/6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /camelcase/6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - - /chalk/1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -920,10 +566,6 @@ packages: supports-color: 7.2.0 dev: true - /chardet/0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true - /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -939,88 +581,6 @@ packages: fsevents: 2.3.2 dev: true - /ci-info/2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: true - - /ci-job-number/1.2.2: - resolution: {integrity: sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==} - dev: true - - /clean-stack/2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true - - /cli-boxes/2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: true - - /cli-cursor/2.1.0: - resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} - engines: {node: '>=4'} - dependencies: - restore-cursor: 2.0.0 - dev: true - - /cli-cursor/3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-truncate/0.2.1: - resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} - engines: {node: '>=0.10.0'} - dependencies: - slice-ansi: 0.0.4 - string-width: 1.0.2 - dev: true - - /cli-truncate/2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - dev: true - - /cli-truncate/3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - slice-ansi: 5.0.0 - string-width: 5.1.2 - dev: true - - /cli-width/2.2.1: - resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} - dev: true - - /cli-width/3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true - - /clone-response/1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: true - - /code-point-at/1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - dev: true - - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1028,55 +588,19 @@ packages: color-name: 1.1.4 dev: true - /color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colorette/2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - /commander/4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} dev: true - /commander/9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true - /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /configstore/5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.11 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 - dev: true - - /cosmiconfig/7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true - /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1086,15 +610,6 @@ packages: which: 2.0.2 dev: true - /crypto-random-string/2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: true - - /date-fns/1.30.1: - resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} - dev: true - /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -1107,81 +622,13 @@ packages: ms: 2.1.2 dev: true - /debug/4.3.4_supports-color@9.3.1: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 9.3.1 + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /decamelize-keys/1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: true - - /decamelize/1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true - - /decompress-response/3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - dependencies: - mimic-response: 1.0.1 - dev: true - - /decompress-response/5.0.0: - resolution: {integrity: sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==} - engines: {node: '>=10'} - dependencies: - mimic-response: 2.1.0 - dev: true - - /deep-extend/0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - - /deep-is/0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /defer-to-connect/1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - dev: true - - /defer-to-connect/2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: true - - /del/6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: true - - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true @@ -1193,265 +640,9 @@ packages: esutils: 2.0.3 dev: true - /dot-prop/5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - dependencies: - is-obj: 2.0.0 - dev: true - - /dot-prop/6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dependencies: - is-obj: 2.0.0 - dev: true - - /dotenv/11.0.0: - resolution: {integrity: sha512-Fp/b504Y5W+e+FpCxTFMUZ7ZEQkQYF0rx+KZtmwixJxGQbLHrhCwo3FjZgNC8vIfrSi29PABNbMoCGD9YoiXbQ==} - engines: {node: '>=12'} - dev: true - - /duplexer3/0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - dev: true - - /eastasianwidth/0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - - /elegant-spinner/1.0.1: - resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} - engines: {node: '>=0.10.0'} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /emoji-regex/9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true - - /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - - /esbuild-android-64/0.14.54: - resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.14.54: - resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.14.54: - resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.14.54: - resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.14.54: - resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.14.54: - resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.14.54: - resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.14.54: - resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.14.54: - resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.14.54: - resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.14.54: - resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.14.54: - resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.14.54: - resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.14.54: - resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.14.54: - resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.14.54: - resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.14.54: - resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32/0.14.54: - resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.14.54: - resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + /dotenv/16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.14.54: - resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild/0.14.54: - resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/linux-loong64': 0.14.54 - esbuild-android-64: 0.14.54 - esbuild-android-arm64: 0.14.54 - esbuild-darwin-64: 0.14.54 - esbuild-darwin-arm64: 0.14.54 - esbuild-freebsd-64: 0.14.54 - esbuild-freebsd-arm64: 0.14.54 - esbuild-linux-32: 0.14.54 - esbuild-linux-64: 0.14.54 - esbuild-linux-arm: 0.14.54 - esbuild-linux-arm64: 0.14.54 - esbuild-linux-mips64le: 0.14.54 - esbuild-linux-ppc64le: 0.14.54 - esbuild-linux-riscv64: 0.14.54 - esbuild-linux-s390x: 0.14.54 - esbuild-netbsd-64: 0.14.54 - esbuild-openbsd-64: 0.14.54 - esbuild-sunos-64: 0.14.54 - esbuild-windows-32: 0.14.54 - esbuild-windows-64: 0.14.54 - esbuild-windows-arm64: 0.14.54 dev: true /esbuild/0.17.12: @@ -1484,21 +675,6 @@ packages: '@esbuild/win32-x64': 0.17.12 dev: true - /escape-goat/2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - dev: true - - /escape-goat/3.0.0: - resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} - engines: {node: '>=10'} - dev: true - - /escape-string-regexp/1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1636,15 +812,6 @@ packages: strip-final-newline: 2.0.0 dev: true - /external-editor/3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -1674,28 +841,6 @@ packages: reusify: 1.0.4 dev: true - /figures/1.7.0: - resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} - engines: {node: '>=0.10.0'} - dependencies: - escape-string-regexp: 1.0.5 - object-assign: 4.1.1 - dev: true - - /figures/2.0.0: - resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} - engines: {node: '>=4'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /figures/3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1710,14 +855,6 @@ packages: to-regex-range: 5.0.1 dev: true - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - /find-up/5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -1760,33 +897,11 @@ packages: dev: true optional: true - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /get-stream/4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream/5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /github-url-from-git/1.5.0: - resolution: {integrity: sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==} - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1823,29 +938,15 @@ packages: path-is-absolute: 1.0.1 dev: true - /global-dirs/2.1.0: - resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} + /globals/13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: - ini: 1.3.7 + type-fest: 0.20.2 dev: true - /global-dirs/3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - dependencies: - ini: 2.0.0 - dev: true - - /globals/13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globby/11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: array-union: 2.1.0 @@ -1856,130 +957,20 @@ packages: slash: 3.0.0 dev: true - /got/10.7.0: - resolution: {integrity: sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==} - engines: {node: '>=10'} - dependencies: - '@sindresorhus/is': 2.1.1 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-lookup: 2.0.1 - cacheable-request: 7.0.2 - decompress-response: 5.0.0 - duplexer3: 0.1.5 - get-stream: 5.2.0 - lowercase-keys: 2.0.0 - mimic-response: 2.1.0 - p-cancelable: 2.1.1 - p-event: 4.2.0 - responselike: 2.0.1 - to-readable-stream: 2.1.0 - type-fest: 0.10.0 - dev: true - - /got/9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 - dev: true - - /graceful-fs/4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true - /hard-rejection/2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: true - - /has-ansi/2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - /has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true - /has-yarn/2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /hosted-git-info/2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - - /hosted-git-info/3.0.8: - resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==} - engines: {node: '>=10'} - dependencies: - lru-cache: 6.0.0 - dev: true - - /hosted-git-info/4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - dependencies: - lru-cache: 6.0.0 - dev: true - - /http-cache-semantics/4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true - /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /ignore-walk/3.0.4: - resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} - dependencies: - minimatch: 3.1.2 - dev: true - /ignore/5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -1993,35 +984,11 @@ packages: resolve-from: 4.0.0 dev: true - /import-lazy/2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} - dev: true - - /import-local/3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - /imurmurhash/0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true - /indent-string/3.2.0: - resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} - engines: {node: '>=4'} - dev: true - - /indent-string/4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true - /inflight/1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -2033,69 +1000,6 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ini/1.3.7: - resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} - dev: true - - /ini/1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true - - /ini/2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - dev: true - - /inquirer-autosubmit-prompt/0.2.0: - resolution: {integrity: sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==} - dependencies: - chalk: 2.4.2 - inquirer: 6.5.2 - rxjs: 6.6.7 - dev: true - - /inquirer/6.5.2: - resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} - engines: {node: '>=6.0.0'} - dependencies: - ansi-escapes: 3.2.0 - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-width: 2.2.1 - external-editor: 3.1.0 - figures: 2.0.0 - lodash: 4.17.21 - mute-stream: 0.0.7 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 2.1.1 - strip-ansi: 5.2.0 - through: 2.3.8 - dev: true - - /inquirer/7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - dev: true - - /is-arrayish/0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - /is-binary-path/2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -2103,52 +1007,11 @@ packages: binary-extensions: 2.2.0 dev: true - /is-ci/2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 - dev: true - - /is-core-module/2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - dev: true - - /is-docker/2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true - /is-fullwidth-code-point/1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} - dependencies: - number-is-nan: 1.0.1 - dev: true - - /is-fullwidth-code-point/2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-fullwidth-code-point/4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true - /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2156,119 +1019,25 @@ packages: is-extglob: 2.1.1 dev: true - /is-installed-globally/0.3.2: - resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} - engines: {node: '>=8'} - dependencies: - global-dirs: 2.1.0 - is-path-inside: 3.0.3 - dev: true - - /is-installed-globally/0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 - dev: true - - /is-interactive/1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-npm/5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} - dev: true - /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true - /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - - /is-observable/1.1.0: - resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} - engines: {node: '>=4'} - dependencies: - symbol-observable: 1.2.0 - dev: true - - /is-path-cwd/2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true - /is-path-inside/3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} dev: true - /is-plain-obj/1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: true - - /is-promise/2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: true - - /is-scoped/2.1.0: - resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} - engines: {node: '>=8'} - dependencies: - scoped-regex: 2.1.0 - dev: true - - /is-stream/1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: true - /is-typedarray/1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true - - /is-unicode-supported/0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-url-superb/4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} - dev: true - - /is-wsl/2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - - /is-yarn-global/0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - dev: true - /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /issue-regex/3.1.0: - resolution: {integrity: sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA==} - engines: {node: '>=10'} - dev: true - /joycon/3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -2278,10 +1047,6 @@ packages: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /js-yaml/4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2289,18 +1054,6 @@ packages: argparse: 2.0.1 dev: true - /json-buffer/3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - dev: true - - /json-buffer/3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -2309,30 +1062,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /keyv/3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - dependencies: - json-buffer: 3.0.0 - dev: true - - /keyv/4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /kind-of/6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true - - /latest-version/5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} - dependencies: - package-json: 6.5.0 - dev: true - /levn/0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2341,11 +1070,6 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.5: - resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} - engines: {node: '>=10'} - dev: true - /lilconfig/2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -2355,237 +1079,31 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/12.5.0: - resolution: {integrity: sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.19 - commander: 9.5.0 - debug: 4.3.4_supports-color@9.3.1 - execa: 5.1.1 - lilconfig: 2.0.5 - listr2: 4.0.5 - micromatch: 4.0.5 - normalize-path: 3.0.0 - object-inspect: 1.12.3 - pidtree: 0.5.0 - string-argv: 0.3.1 - supports-color: 9.3.1 - yaml: 1.10.2 - transitivePeerDependencies: - - enquirer - dev: true - - /listr-input/0.2.1: - resolution: {integrity: sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==} - engines: {node: '>=6'} - dependencies: - inquirer: 7.3.3 - inquirer-autosubmit-prompt: 0.2.0 - rxjs: 6.6.7 - through: 2.3.8 - dev: true - - /listr-silent-renderer/1.1.1: - resolution: {integrity: sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==} - engines: {node: '>=4'} - dev: true - - /listr-update-renderer/0.5.0_listr@0.14.3: - resolution: {integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==} - engines: {node: '>=6'} - peerDependencies: - listr: ^0.14.2 - dependencies: - chalk: 1.1.3 - cli-truncate: 0.2.1 - elegant-spinner: 1.0.1 - figures: 1.7.0 - indent-string: 3.2.0 - listr: 0.14.3 - log-symbols: 1.0.2 - log-update: 2.3.0 - strip-ansi: 3.0.1 - dev: true - - /listr-verbose-renderer/0.5.0: - resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} - engines: {node: '>=4'} - dependencies: - chalk: 2.4.2 - cli-cursor: 2.1.0 - date-fns: 1.30.1 - figures: 2.0.0 - dev: true - - /listr/0.14.3: - resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} - engines: {node: '>=6'} - dependencies: - '@samverschueren/stream-to-observable': 0.3.1_rxjs@6.6.7 - is-observable: 1.1.0 - is-promise: 2.2.2 - is-stream: 1.1.0 - listr-silent-renderer: 1.1.1 - listr-update-renderer: 0.5.0_listr@0.14.3 - listr-verbose-renderer: 0.5.0 - p-map: 2.1.0 - rxjs: 6.6.7 - transitivePeerDependencies: - - zen-observable - - zenObservable - dev: true - - /listr2/4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.19 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.8.0 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - /load-tsconfig/0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /locate-path/6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.isequal/4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge/4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.sortby/4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - - /lodash.zip/4.2.0: - resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} - dev: true - - /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - - /log-symbols/1.0.2: - resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} - engines: {node: '>=0.10.0'} - dependencies: - chalk: 1.1.3 - dev: true - - /log-symbols/4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /log-update/2.3.0: - resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} - engines: {node: '>=4'} - dependencies: - ansi-escapes: 3.2.0 - cli-cursor: 2.1.0 - wrap-ansi: 3.0.1 - dev: true - - /log-update/4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - dev: true - - /lowercase-keys/1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - dev: true - - /lowercase-keys/2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true - - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /map-age-cleaner/0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: - p-defer: 1.0.0 + p-locate: 5.0.0 dev: true - /map-obj/1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /map-obj/4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true - /meow/8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 + yallist: 4.0.0 dev: true /merge-stream/2.0.0: @@ -2605,73 +1123,21 @@ packages: picomatch: 2.3.1 dev: true - /mimic-fn/1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} - dev: true - /mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: true - /mimic-fn/3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - dev: true - - /mimic-response/1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true - - /mimic-response/2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} - dev: true - - /min-indent/1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - /minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true - /minimist-options/4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: true - - /minimist/1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /mute-stream/0.0.7: - resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} - dev: true - - /mute-stream/0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - /mz/2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -2680,12 +1146,6 @@ packages: thenify-all: 1.6.0 dev: true - /nanoid/3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - /nanospinner/1.1.0: resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: @@ -2700,111 +1160,11 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /new-github-release-url/1.0.0: - resolution: {integrity: sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.4.1 - dev: true - - /normalize-package-data/2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.1 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-package-data/3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.11.0 - semver: 7.3.8 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /normalize-url/4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - dev: true - - /normalize-url/6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true - - /np/7.6.4: - resolution: {integrity: sha512-w1bwfhN2OCY8VgVdtkSn2vHN+c0KtPnCCWKWvPjuB6WCxMc1bmU797xCc1NZJdRAW2F79zrMMKOIh0N/A1xdXg==} - engines: {git: '>=2.11.0', node: '>=10', npm: '>=6.8.0', yarn: '>=1.7.0'} - hasBin: true - dependencies: - '@samverschueren/stream-to-observable': 0.3.1_rxjs@6.6.7 - any-observable: 0.5.1_rxjs@6.6.7 - async-exit-hook: 2.0.1 - chalk: 4.1.2 - cosmiconfig: 7.1.0 - del: 6.1.1 - escape-goat: 3.0.0 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - github-url-from-git: 1.5.0 - has-yarn: 2.1.0 - hosted-git-info: 3.0.8 - ignore-walk: 3.0.4 - import-local: 3.1.0 - inquirer: 7.3.3 - is-installed-globally: 0.3.2 - is-interactive: 1.0.0 - is-scoped: 2.1.0 - issue-regex: 3.1.0 - listr: 0.14.3 - listr-input: 0.2.1 - log-symbols: 4.1.0 - meow: 8.1.2 - minimatch: 3.1.2 - new-github-release-url: 1.0.0 - npm-name: 6.0.1 - onetime: 5.1.2 - open: 7.4.2 - ow: 0.21.0 - p-memoize: 4.0.4 - p-timeout: 4.1.0 - pkg-dir: 5.0.0 - read-pkg-up: 7.0.1 - rxjs: 6.6.7 - semver: 7.3.8 - split: 1.0.1 - symbol-observable: 3.0.0 - terminal-link: 2.1.1 - update-notifier: 5.1.0 - transitivePeerDependencies: - - zen-observable - - zenObservable - dev: true - - /npm-name/6.0.1: - resolution: {integrity: sha512-fhKRvUAxaYzMEUZim4mXWyfFbVS+M1CbrCLdAo3txWzrctxKka/h+KaBW0O9Cz5uOM00Nldn2JLWhuwnyW3SUw==} - engines: {node: '>=10'} - dependencies: - got: 10.7.0 - is-scoped: 2.1.0 - is-url-superb: 4.0.0 - lodash.zip: 4.2.0 - org-regex: 1.0.0 - p-map: 3.0.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - validate-npm-package-name: 3.0.0 - dev: true - /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -2812,33 +1172,17 @@ packages: path-key: 3.1.1 dev: true - /number-is-nan/1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} - dev: true - /object-assign/4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true - /object-inspect/1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true - /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true - /onetime/2.0.1: - resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} - engines: {node: '>=4'} - dependencies: - mimic-fn: 1.2.0 - dev: true - /onetime/5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -2846,14 +1190,6 @@ packages: mimic-fn: 2.1.0 dev: true - /open/7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - /optionator/0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} @@ -2866,62 +1202,6 @@ packages: word-wrap: 1.2.3 dev: true - /org-regex/1.0.0: - resolution: {integrity: sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==} - engines: {node: '>=8'} - dev: true - - /os-tmpdir/1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true - - /ow/0.21.0: - resolution: {integrity: sha512-dlsoDe39g7mhdsdrC1R/YwjT7yjVqE3svWwOlMGvN690waBkgEZBmKBdkmKvSt5/wZ6E0Jn/nIesPqMZOpPKqw==} - engines: {node: '>=10'} - dependencies: - '@sindresorhus/is': 4.6.0 - callsites: 3.1.0 - dot-prop: 6.0.1 - lodash.isequal: 4.5.0 - type-fest: 0.20.2 - vali-date: 1.0.0 - dev: true - - /p-cancelable/1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - dev: true - - /p-cancelable/2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - dev: true - - /p-defer/1.0.0: - resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} - engines: {node: '>=4'} - dev: true - - /p-event/4.2.0: - resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} - engines: {node: '>=8'} - dependencies: - p-timeout: 3.2.0 - dev: true - - /p-finally/1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - /p-limit/3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2929,13 +1209,6 @@ packages: yocto-queue: 0.1.0 dev: true - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - /p-locate/5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -2943,74 +1216,6 @@ packages: p-limit: 3.1.0 dev: true - /p-map/2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - dev: true - - /p-map/3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - dependencies: - aggregate-error: 3.1.0 - dev: true - - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true - - /p-memoize/4.0.4: - resolution: {integrity: sha512-ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw==} - engines: {node: '>=10'} - dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 3.1.0 - p-settle: 4.1.1 - dev: true - - /p-reflect/2.1.0: - resolution: {integrity: sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==} - engines: {node: '>=8'} - dev: true - - /p-settle/4.1.1: - resolution: {integrity: sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==} - engines: {node: '>=10'} - dependencies: - p-limit: 2.3.0 - p-reflect: 2.1.0 - dev: true - - /p-timeout/3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - dependencies: - p-finally: 1.0.0 - dev: true - - /p-timeout/4.1.0: - resolution: {integrity: sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==} - engines: {node: '>=10'} - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /package-json/6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - dependencies: - got: 9.6.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - semver: 6.3.0 - dev: true - /parent-module/1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -3018,16 +1223,6 @@ packages: callsites: 3.1.0 dev: true - /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.18.6 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3043,10 +1238,6 @@ packages: engines: {node: '>=8'} dev: true - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -3061,31 +1252,11 @@ packages: engines: {node: '>=8.6'} dev: true - /pidtree/0.5.0: - resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true - /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /pkg-dir/5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} - dependencies: - find-up: 5.0.0 - dev: true - /postcss-load-config/3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -3098,164 +1269,45 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.1.0 - yaml: 1.10.2 - dev: true - - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prepend-http/2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - dev: true - - /prettier/2.5.1: - resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /punycode/2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /pupa/2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - dependencies: - escape-goat: 2.1.1 - dev: true - - /queue-microtask/1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-lru/4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: true - - /rc/1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: true - - /read-pkg-up/7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - - /read-pkg/5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - - /redent/3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true - - /registry-auth-token/4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} - dependencies: - rc: 1.2.8 - dev: true - - /registry-url/5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} - dependencies: - rc: 1.2.8 - dev: true - - /resolve-cwd/3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 + lilconfig: 2.1.0 + yaml: 1.10.2 dev: true - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + /prettier/2.8.6: + resolution: {integrity: sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==} + engines: {node: '>=10.13.0'} + hasBin: true dev: true - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} dev: true - /responselike/1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - dependencies: - lowercase-keys: 1.0.1 + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /responselike/2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: - lowercase-keys: 2.0.0 + picomatch: 2.3.1 dev: true - /restore-cursor/2.0.0: - resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 dev: true - /restore-cursor/3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 dev: true /reusify/1.0.4: @@ -3263,10 +1315,6 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rfdc/1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true - /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -3282,64 +1330,12 @@ packages: fsevents: 2.3.2 dev: true - /run-async/2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true - /rxjs/6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - dependencies: - tslib: 1.14.1 - dev: true - - /rxjs/7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - dependencies: - tslib: 2.5.0 - dev: true - - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /scoped-regex/2.1.0: - resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} - engines: {node: '>=8'} - dev: true - - /semver-diff/3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true - - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true - - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver/7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} @@ -3364,17 +1360,15 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /size-limit/7.0.8: - resolution: {integrity: sha512-3h76c9E0e/nNhYLSR7IBI/bSoXICeo7EYkYjlyVqNIsu7KvN/PQmMbIXeyd2QKIF8iZKhaiZQoXLkGWbyPDtvQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + /size-limit/8.2.4: + resolution: {integrity: sha512-Un16nSreD1v2CYwSorattiJcHuAWqXvg4TsGgzpjnoByqQwsSfCIEQHuaD14HNStzredR8cdsO9oGH91ibypTA==} + engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 chokidar: 3.5.3 - ci-job-number: 1.2.2 globby: 11.1.0 lilconfig: 2.1.0 - mkdirp: 1.0.4 nanospinner: 1.1.0 picocolors: 1.0.0 dev: true @@ -3384,37 +1378,6 @@ packages: engines: {node: '>=8'} dev: true - /slice-ansi/0.0.4: - resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} - engines: {node: '>=0.10.0'} - dev: true - - /slice-ansi/3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi/5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - dev: true - /source-map/0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} @@ -3422,95 +1385,6 @@ packages: whatwg-url: 7.1.0 dev: true - /spdx-correct/3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 - dev: true - - /spdx-exceptions/2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true - - /spdx-expression-parse/3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 - dev: true - - /spdx-license-ids/3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - dev: true - - /split/1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} - dependencies: - through: 2.3.8 - dev: true - - /string-argv/0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - dev: true - - /string-width/1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - dev: true - - /string-width/2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - dev: true - - /string-width/4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string-width/5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.0.1 - dev: true - - /strip-ansi/3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: true - - /strip-ansi/4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} - dependencies: - ansi-regex: 3.0.1 - dev: true - - /strip-ansi/5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - dependencies: - ansi-regex: 4.1.1 - dev: true - /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3518,30 +1392,11 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-ansi/7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /strip-indent/3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true - - /strip-json-comments/2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true - /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -3560,18 +1415,6 @@ packages: ts-interface-checker: 0.1.13 dev: true - /supports-color/2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -3579,42 +1422,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-color/9.3.1: - resolution: {integrity: sha512-knBY82pjmnIzK3NifMo3RxEIRD9E0kIzV4BKcyTZ9+9kWgLMxd4PrsTSMoFQUabgRBbF8KOLRDCyKgNV+iK44Q==} - engines: {node: '>=12'} - dev: true - - /supports-hyperlinks/2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /symbol-observable/1.2.0: - resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} - engines: {node: '>=0.10.0'} - dev: true - - /symbol-observable/3.0.0: - resolution: {integrity: sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==} - engines: {node: '>=0.10'} - dev: true - - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -3632,27 +1439,6 @@ packages: any-promise: 1.3.0 dev: true - /through/2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tmp/0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - dev: true - - /to-readable-stream/1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - dev: true - - /to-readable-stream/2.1.0: - resolution: {integrity: sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==} - engines: {node: '>=8'} - dev: true - /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -3671,11 +1457,6 @@ packages: hasBin: true dev: true - /trim-newlines/3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: true - /ts-interface-checker/0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true @@ -3688,7 +1469,7 @@ packages: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: true - /tsup/6.7.0_typescript@4.9.5: + /tsup/6.7.0_typescript@5.0.2: resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} engines: {node: '>=14.18'} hasBin: true @@ -3718,20 +1499,20 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.30.0 tree-kill: 1.2.2 - typescript: 4.9.5 + typescript: 5.0.2 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils/3.21.0_typescript@4.9.5: + /tsutils/3.21.0_typescript@5.0.2: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.2 dev: true /type-check/0.4.0: @@ -3741,111 +1522,23 @@ packages: prelude-ls: 1.2.1 dev: true - /type-fest/0.10.0: - resolution: {integrity: sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==} - engines: {node: '>=8'} - dev: true - - /type-fest/0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true - /type-fest/0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} dev: true - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - - /type-fest/0.4.1: - resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} - engines: {node: '>=6'} - dev: true - - /type-fest/0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - - /type-fest/0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true - - /typedarray-to-buffer/3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - dev: true - - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript/5.0.2: + resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} + engines: {node: '>=12.20'} hasBin: true dev: true - /unique-string/2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - dependencies: - crypto-random-string: 2.0.0 - dev: true - - /update-notifier/5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} - dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.3.8 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 - dev: true - /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 dev: true - /url-parse-lax/3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - dependencies: - prepend-http: 2.0.0 - dev: true - - /vali-date/1.0.0: - resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} - engines: {node: '>=0.10.0'} - dev: true - - /validate-npm-package-license/3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - dev: true - - /validate-npm-package-name/3.0.0: - resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} - dependencies: - builtins: 1.0.3 - dev: true - /webidl-conversions/4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true @@ -3866,62 +1559,15 @@ packages: isexe: 2.0.0 dev: true - /widest-line/3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - dependencies: - string-width: 4.2.3 - dev: true - /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} dev: true - /wrap-ansi/3.0.1: - resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} - engines: {node: '>=4'} - dependencies: - string-width: 2.1.1 - strip-ansi: 4.0.0 - dev: true - - /wrap-ansi/6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /write-file-atomic/3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - dev: true - - /xdg-basedir/4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} - dev: true - /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true @@ -3931,11 +1577,6 @@ packages: engines: {node: '>= 6'} dev: true - /yargs-parser/20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true - /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} From d0fe2a3915a2512cf24535514a9ef80d5c438a29 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 19:23:46 +0800 Subject: [PATCH 05/44] chore: add size-limit dependency --- package.json | 5 +++-- pnpm-lock.yaml | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e979c0d..ce85ed2 100644 --- a/package.json +++ b/package.json @@ -20,14 +20,15 @@ "size-limit": [ { "path": "dist/index.js", - "limit": "10 KB" + "limit": "10 kB" }, { "path": "dist/index.mjs", - "limit": "10 KB" + "limit": "10 kB" } ], "devDependencies": { + "@size-limit/preset-small-lib": "^8.2.4", "@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/parser": "^5.9.0", "dotenv": "^16.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b9a7db..6d0a14a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,6 +1,7 @@ lockfileVersion: 5.4 specifiers: + '@size-limit/preset-small-lib': ^8.2.4 '@typescript-eslint/eslint-plugin': ^5.9.0 '@typescript-eslint/parser': ^5.9.0 axios: ^0.24.0 @@ -19,6 +20,7 @@ dependencies: zustand: 3.7.2 devDependencies: + '@size-limit/preset-small-lib': 8.2.4_size-limit@8.2.4 '@typescript-eslint/eslint-plugin': 5.56.0_2hcjazgfnbtq42tcc73br2vup4 '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu dotenv: 16.0.3 @@ -308,6 +310,37 @@ packages: fastq: 1.15.0 dev: true + /@size-limit/esbuild/8.2.4_size-limit@8.2.4: + resolution: {integrity: sha512-kPgNfpwUvBD98s5axlf1UciFg4Ki4AYSl/cOmSyyYBuzksHiwW7Myeu0w4mTxtV9nwBFbkrrNXqszE7b+OhFLA==} + engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} + peerDependencies: + size-limit: 8.2.4 + dependencies: + esbuild: 0.17.12 + nanoid: 3.3.4 + size-limit: 8.2.4 + dev: true + + /@size-limit/file/8.2.4_size-limit@8.2.4: + resolution: {integrity: sha512-xLuF97W7m7lxrRJvqXRlxO/4t7cpXtfxOnjml/t4aRVUCMXLdyvebRr9OM4jjoK8Fmiz8jomCbETUCI3jVhLzA==} + engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} + peerDependencies: + size-limit: 8.2.4 + dependencies: + semver: 7.3.8 + size-limit: 8.2.4 + dev: true + + /@size-limit/preset-small-lib/8.2.4_size-limit@8.2.4: + resolution: {integrity: sha512-AL4384oBgMcDPlNblgWHreqFSSOui0J9NbgyHhegB1h8AgRyHbdVGC3yWLpEESYQXHYnKdbNrYeRE/TclsViog==} + peerDependencies: + size-limit: 8.2.4 + dependencies: + '@size-limit/esbuild': 8.2.4_size-limit@8.2.4 + '@size-limit/file': 8.2.4_size-limit@8.2.4 + size-limit: 8.2.4 + dev: true + /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true @@ -1146,6 +1179,12 @@ packages: thenify-all: 1.6.0 dev: true + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /nanospinner/1.1.0: resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: From 2b857e29c56bb89bdcf0d510260b96fb52613f06 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 19:29:22 +0800 Subject: [PATCH 06/44] chore: update workflow --- .github/workflows/main.yml | 51 ++++++++++++++------------------------ .github/workflows/size.yml | 2 +- 2 files changed, 20 insertions(+), 33 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 71ba787..ce26a98 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,37 +9,24 @@ on: jobs: build: - name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }} - - runs-on: ${{ matrix.os }} - strategy: - matrix: - node: ["12.x", "14.x"] - os: [ubuntu-latest] - + runs-on: ubuntu-latest steps: - - name: Checkout repo - uses: actions/checkout@v2 - - - name: Use Node ${{ matrix.node }} - uses: actions/setup-node@v1 + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 with: - node-version: ${{ matrix.node }} - - - name: Install deps and build (with cache) - uses: bahmutov/npm-install@v1 - - - name: Lint - run: pnpm lint - - - name: Test - env: - PM_SECRET_KEY: ${{ secrets.PM_SECRET_KEY }} - PM_WEBHOOK_ID: ${{ secrets.PM_WEBHOOK_ID }} - PM_LINK_ID: ${{ secrets.PM_LINK_ID }} - PM_LINK_REF: ${{ secrets.PM_LINK_REF }} - PM_PAYMENT_ID: ${{ secrets.PM_PAYMENT_ID }} - run: pnpm test --clearCache && pnpm test --ci --coverage --maxWorkers=2 - - - name: Build - run: pnpm build + version: 7 + - uses: actions/setup-node@v3 + with: + cache: "pnpm" + node-version: 16.x + - run: pnpm install --frozen-lockfile + - run: pnpm run lint && pnpm run build + + # - name: Test + # env: + # PM_SECRET_KEY: ${{ secrets.PM_SECRET_KEY }} + # PM_WEBHOOK_ID: ${{ secrets.PM_WEBHOOK_ID }} + # PM_LINK_ID: ${{ secrets.PM_LINK_ID }} + # PM_LINK_REF: ${{ secrets.PM_LINK_REF }} + # PM_PAYMENT_ID: ${{ secrets.PM_PAYMENT_ID }} + # run: pnpm test --clearCache && pnpm test --ci --coverage --maxWorkers=2 diff --git a/.github/workflows/size.yml b/.github/workflows/size.yml index 6021cda..bc80c4c 100644 --- a/.github/workflows/size.yml +++ b/.github/workflows/size.yml @@ -6,7 +6,7 @@ jobs: env: CI_JOB_NUMBER: 1 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - uses: andresz1/size-limit-action@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} From 6702145d5d458140e2fbb56df4dee5388e929586 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 21:32:23 +0800 Subject: [PATCH 07/44] chore: initial structure for v2 --- jest.config.js | 6 - package.json | 9 +- pnpm-lock.yaml | 444 +++++++++++++++++- src/api/base.ts | 13 + src/api/payment-intent/create.ts | 29 ++ src/index.ts | 119 +---- src/{ => old}/config.ts | 0 src/old/index.ts | 121 +++++ src/{ => old}/payment/create-payment.ts | 0 src/{ => old}/payment/index.ts | 0 src/{ => old}/payment/intent/attach-intent.ts | 0 src/{ => old}/payment/intent/create-intent.ts | 0 src/{ => old}/payment/intent/index.ts | 0 .../payment/intent/retrieve-intent.ts | 0 src/{ => old}/payment/intent/types.ts | 0 src/{ => old}/payment/link/archive-link.ts | 0 src/{ => old}/payment/link/create-link.ts | 0 src/{ => old}/payment/link/index.ts | 0 .../payment/link/retrieve-from-ref-link.ts | 0 src/{ => old}/payment/link/retrieve-link.ts | 0 src/{ => old}/payment/link/types.ts | 0 src/{ => old}/payment/link/unarchive-link.ts | 0 src/{ => old}/payment/list-payments.ts | 0 src/{ => old}/payment/method/create-method.ts | 0 src/{ => old}/payment/method/index.ts | 0 .../payment/method/retrieve-method.ts | 0 src/{ => old}/payment/method/types.ts | 0 src/{ => old}/payment/refund/create-refund.ts | 0 src/{ => old}/payment/refund/index.ts | 0 src/{ => old}/payment/retrieve-payment.ts | 0 src/{ => old}/payment/source/create-source.ts | 0 src/{ => old}/payment/source/index.ts | 0 .../payment/source/retrieve-source.ts | 0 src/{ => old}/payment/source/types.ts | 0 src/{ => old}/payment/types.ts | 0 .../payment/webhook/create-webhook.ts | 0 .../payment/webhook/disable-webhook.ts | 0 .../payment/webhook/enable-webhook.ts | 0 src/{ => old}/payment/webhook/index.ts | 0 .../payment/webhook/list-webhooks.ts | 0 .../payment/webhook/retrieve-webhook.ts | 0 src/{ => old}/payment/webhook/types.ts | 0 .../payment/webhook/update-webhook.ts | 0 src/{ => old}/utils/api-base.ts | 8 - src/store/index.ts | 11 - test/sample.test.ts | 10 + test/intent.test.ts => test_old/intent.ts | 0 test/link.test.ts => test_old/link.ts | 0 test/method.test.ts => test_old/method.ts | 0 test/payment.test.ts => test_old/payment.ts | 0 test/source.test.ts => test_old/source.ts | 0 vitest.config.ts | 5 + 52 files changed, 624 insertions(+), 151 deletions(-) delete mode 100644 jest.config.js create mode 100644 src/api/base.ts create mode 100644 src/api/payment-intent/create.ts rename src/{ => old}/config.ts (100%) create mode 100644 src/old/index.ts rename src/{ => old}/payment/create-payment.ts (100%) rename src/{ => old}/payment/index.ts (100%) rename src/{ => old}/payment/intent/attach-intent.ts (100%) rename src/{ => old}/payment/intent/create-intent.ts (100%) rename src/{ => old}/payment/intent/index.ts (100%) rename src/{ => old}/payment/intent/retrieve-intent.ts (100%) rename src/{ => old}/payment/intent/types.ts (100%) rename src/{ => old}/payment/link/archive-link.ts (100%) rename src/{ => old}/payment/link/create-link.ts (100%) rename src/{ => old}/payment/link/index.ts (100%) rename src/{ => old}/payment/link/retrieve-from-ref-link.ts (100%) rename src/{ => old}/payment/link/retrieve-link.ts (100%) rename src/{ => old}/payment/link/types.ts (100%) rename src/{ => old}/payment/link/unarchive-link.ts (100%) rename src/{ => old}/payment/list-payments.ts (100%) rename src/{ => old}/payment/method/create-method.ts (100%) rename src/{ => old}/payment/method/index.ts (100%) rename src/{ => old}/payment/method/retrieve-method.ts (100%) rename src/{ => old}/payment/method/types.ts (100%) rename src/{ => old}/payment/refund/create-refund.ts (100%) rename src/{ => old}/payment/refund/index.ts (100%) rename src/{ => old}/payment/retrieve-payment.ts (100%) rename src/{ => old}/payment/source/create-source.ts (100%) rename src/{ => old}/payment/source/index.ts (100%) rename src/{ => old}/payment/source/retrieve-source.ts (100%) rename src/{ => old}/payment/source/types.ts (100%) rename src/{ => old}/payment/types.ts (100%) rename src/{ => old}/payment/webhook/create-webhook.ts (100%) rename src/{ => old}/payment/webhook/disable-webhook.ts (100%) rename src/{ => old}/payment/webhook/enable-webhook.ts (100%) rename src/{ => old}/payment/webhook/index.ts (100%) rename src/{ => old}/payment/webhook/list-webhooks.ts (100%) rename src/{ => old}/payment/webhook/retrieve-webhook.ts (100%) rename src/{ => old}/payment/webhook/types.ts (100%) rename src/{ => old}/payment/webhook/update-webhook.ts (100%) rename src/{ => old}/utils/api-base.ts (65%) delete mode 100644 src/store/index.ts create mode 100644 test/sample.test.ts rename test/intent.test.ts => test_old/intent.ts (100%) rename test/link.test.ts => test_old/link.ts (100%) rename test/method.test.ts => test_old/method.ts (100%) rename test/payment.test.ts => test_old/payment.ts (100%) rename test/source.test.ts => test_old/source.ts (100%) create mode 100644 vitest.config.ts diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 106eb39..0000000 --- a/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -const { createJestConfig } = require("tsdx/dist/createJestConfig"); -const { paths } = require("tsdx/dist/constants"); -const dotenv = require("dotenv"); -dotenv.config(); - -module.exports = createJestConfig(undefined, paths.appRoot); diff --git a/package.json b/package.json index ce85ed2..317f61c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "scripts": { "dev": "tsup src/index.ts", "build": "tsup src/index.ts --dts --format cjs,esm", - "test": "echo \"TODO: implement\"", + "test": "vitest", + "coverage": "vitest run --coverage", "lint": "eslint --fix src/**/*.{js,ts}", "size": "size-limit" }, @@ -38,11 +39,11 @@ "size-limit": "^8.2.4", "tslib": "^2.3.1", "tsup": "^6.7.0", - "typescript": "^5.0.2" + "typescript": "^5.0.2", + "vitest": "^0.29.7" }, "dependencies": { - "axios": "^0.24.0", - "zustand": "^3.6.8" + "axios": "^0.24.0" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d0a14a..e8e3baf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,11 +13,10 @@ specifiers: tslib: ^2.3.1 tsup: ^6.7.0 typescript: ^5.0.2 - zustand: ^3.6.8 + vitest: ^0.29.7 dependencies: axios: 0.24.0 - zustand: 3.7.2 devDependencies: '@size-limit/preset-small-lib': 8.2.4_size-limit@8.2.4 @@ -31,6 +30,7 @@ devDependencies: tslib: 2.5.0 tsup: 6.7.0_typescript@5.0.2 typescript: 5.0.2 + vitest: 0.29.7 packages: @@ -341,10 +341,24 @@ packages: size-limit: 8.2.4 dev: true + /@types/chai-subset/1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + dependencies: + '@types/chai': 4.3.4 + dev: true + + /@types/chai/4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + dev: true + /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true + /@types/node/18.15.5: + resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} + dev: true + /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true @@ -479,6 +493,37 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vitest/expect/0.29.7: + resolution: {integrity: sha512-UtG0tW0DP6b3N8aw7PHmweKDsvPv4wjGvrVZW7OSxaFg76ShtVdMiMcUkZJgCE8QWUmhwaM0aQhbbVLo4F4pkA==} + dependencies: + '@vitest/spy': 0.29.7 + '@vitest/utils': 0.29.7 + chai: 4.3.7 + dev: true + + /@vitest/runner/0.29.7: + resolution: {integrity: sha512-Yt0+csM945+odOx4rjZSjibQfl2ymxqVsmYz6sO2fiO5RGPYDFCo60JF6tLL9pz4G/kjY4irUxadeB1XT+H1jg==} + dependencies: + '@vitest/utils': 0.29.7 + p-limit: 4.0.0 + pathe: 1.1.0 + dev: true + + /@vitest/spy/0.29.7: + resolution: {integrity: sha512-IalL0iO6A6Xz8hthR8sctk6ZS//zVBX48EiNwQguYACdgdei9ZhwMaBFV70mpmeYAFCRAm+DpoFHM5470Im78A==} + dependencies: + tinyspy: 1.1.1 + dev: true + + /@vitest/utils/0.29.7: + resolution: {integrity: sha512-vNgGadp2eE5XKCXtZXL5UyNEDn68npSct75OC9AlELenSK0DiV1Mb9tfkwJHKjRb69iek+e79iipoJx8+s3SdA==} + dependencies: + cli-truncate: 3.1.0 + diff: 5.1.0 + loupe: 2.3.6 + pretty-format: 27.5.1 + dev: true + /acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -487,6 +532,11 @@ packages: acorn: 8.8.2 dev: true + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + /acorn/8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -507,6 +557,11 @@ packages: engines: {node: '>=8'} dev: true + /ansi-regex/6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + /ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -514,6 +569,16 @@ packages: color-convert: 2.0.1 dev: true + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles/6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + /any-promise/1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -535,6 +600,10 @@ packages: engines: {node: '>=8'} dev: true + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + /axios/0.24.0: resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: @@ -591,6 +660,19 @@ packages: engines: {node: '>=6'} dev: true + /chai/4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -599,6 +681,10 @@ packages: supports-color: 7.2.0 dev: true + /check-error/1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + dev: true + /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -614,6 +700,14 @@ packages: fsevents: 2.3.2 dev: true + /cli-truncate/3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + /color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -655,10 +749,22 @@ packages: ms: 2.1.2 dev: true + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /diff/5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -678,6 +784,14 @@ packages: engines: {node: '>=12'} dev: true + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /esbuild/0.17.12: resolution: {integrity: sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ==} engines: {node: '>=12'} @@ -930,6 +1044,14 @@ packages: dev: true optional: true + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /get-func-name/2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + dev: true + /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -999,6 +1121,13 @@ packages: engines: {node: '>=8'} dev: true + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -1040,11 +1169,22 @@ packages: binary-extensions: 2.2.0 dev: true + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true + /is-fullwidth-code-point/4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1095,6 +1235,10 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + /levn/0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1117,6 +1261,11 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /local-pkg/0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1132,6 +1281,12 @@ packages: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true + /loupe/2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + dependencies: + get-func-name: 2.0.0 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1167,6 +1322,15 @@ packages: brace-expansion: 1.1.11 dev: true + /mlly/1.2.0: + resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} + dependencies: + acorn: 8.8.2 + pathe: 1.1.0 + pkg-types: 1.0.2 + ufo: 1.1.1 + dev: true + /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true @@ -1248,6 +1412,13 @@ packages: yocto-queue: 0.1.0 dev: true + /p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate/5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -1277,11 +1448,23 @@ packages: engines: {node: '>=8'} dev: true + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: true + /pathe/1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} + dev: true + + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -1296,6 +1479,14 @@ packages: engines: {node: '>= 6'} dev: true + /pkg-types/1.0.2: + resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.2.0 + pathe: 1.1.0 + dev: true + /postcss-load-config/3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -1312,6 +1503,15 @@ packages: yaml: 1.10.2 dev: true + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1323,6 +1523,15 @@ packages: hasBin: true dev: true + /pretty-format/27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -1332,6 +1541,10 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /react-is/17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -1349,6 +1562,15 @@ packages: engines: {node: '>=8'} dev: true + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -1395,6 +1617,10 @@ packages: engines: {node: '>=8'} dev: true + /siginfo/2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -1417,6 +1643,24 @@ packages: engines: {node: '>=8'} dev: true + /slice-ansi/5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + /source-map/0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} @@ -1424,6 +1668,23 @@ packages: whatwg-url: 7.1.0 dev: true + /stackback/0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /std-env/3.3.2: + resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} + dev: true + + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1431,6 +1692,13 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-ansi/7.0.1: + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -1441,6 +1709,12 @@ packages: engines: {node: '>=8'} dev: true + /strip-literal/1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + dependencies: + acorn: 8.8.2 + dev: true + /sucrase/3.30.0: resolution: {integrity: sha512-7d37d3vLF0IeH2dzvHpzDNDxUqpbDHJXTJOAnQ8jvMW04o2Czps6mxtaSnKWpE+hUS/eczqfWPUgQTrazKZPnQ==} engines: {node: '>=8'} @@ -1461,6 +1735,11 @@ packages: has-flag: 4.0.0 dev: true + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -1478,6 +1757,20 @@ packages: any-promise: 1.3.0 dev: true + /tinybench/2.4.0: + resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} + dev: true + + /tinypool/0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy/1.1.1: + resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + engines: {node: '>=14.0.0'} + dev: true + /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -1561,6 +1854,11 @@ packages: prelude-ls: 1.2.1 dev: true + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + /type-fest/0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -1572,12 +1870,132 @@ packages: hasBin: true dev: true + /ufo/1.1.1: + resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 dev: true + /vite-node/0.29.7_@types+node@18.15.5: + resolution: {integrity: sha512-PakCZLvz37yFfUPWBnLa1OYHPCGm5v4pmRrTcFN4V/N/T3I6tyP3z07S//9w+DdeL7vVd0VSeyMZuAh+449ZWw==} + engines: {node: '>=v14.16.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.2.0 + pathe: 1.1.0 + picocolors: 1.0.0 + vite: 4.2.1_@types+node@18.15.5 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite/4.2.1_@types+node@18.15.5: + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.15.5 + esbuild: 0.17.12 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.20.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vitest/0.29.7: + resolution: {integrity: sha512-aWinOSOu4jwTuZHkb+cCyrqQ116Q9TXaJrNKTHudKBknIpR0VplzeaOUuDF9jeZcrbtQKZQt6yrtd+eakbaxHg==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.4 + '@types/chai-subset': 1.3.3 + '@types/node': 18.15.5 + '@vitest/expect': 0.29.7 + '@vitest/runner': 0.29.7 + '@vitest/spy': 0.29.7 + '@vitest/utils': 0.29.7 + acorn: 8.8.2 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 + debug: 4.3.4 + local-pkg: 0.4.3 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + std-env: 3.3.2 + strip-literal: 1.0.1 + tinybench: 2.4.0 + tinypool: 0.4.0 + tinyspy: 1.1.1 + vite: 4.2.1_@types+node@18.15.5 + vite-node: 0.29.7_@types+node@18.15.5 + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /webidl-conversions/4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true @@ -1598,6 +2016,15 @@ packages: isexe: 2.0.0 dev: true + /why-is-node-running/2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} @@ -1621,12 +2048,7 @@ packages: engines: {node: '>=10'} dev: true - /zustand/3.7.2: - resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} - engines: {node: '>=12.7.0'} - peerDependencies: - react: '>=16.8' - peerDependenciesMeta: - react: - optional: true - dev: false + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true diff --git a/src/api/base.ts b/src/api/base.ts new file mode 100644 index 0000000..340e96a --- /dev/null +++ b/src/api/base.ts @@ -0,0 +1,13 @@ +import axios from "axios"; + +const BASE_URL = "https://api.paymongo.com/v1"; + +export const api = axios.create({ + baseURL: BASE_URL, + headers: { + "Content-type": "application/json", + Accept: "application/json", + "Access-Control-Allow-Origin": "*", + }, + responseType: "json", +}); diff --git a/src/api/payment-intent/create.ts b/src/api/payment-intent/create.ts new file mode 100644 index 0000000..30f3565 --- /dev/null +++ b/src/api/payment-intent/create.ts @@ -0,0 +1,29 @@ +import { api } from "../base"; + +export const createPaymentIntent = async () => { + const res = await api.post("/payment_intents", { + data: { + attributes: { + amount: 10000, + payment_method_allowed: [ + "atome", + "card", + "dob", + "paymaya", + "billease", + "gcash", + "grab_pay", + ], + payment_method_options: { + card: { + request_three_d_secure: "any", + }, + }, + currency: "PHP", + capture_type: "automatic", + }, + }, + }); + console.log(res.data); + return "hello world"; +}; diff --git a/src/index.ts b/src/index.ts index 0984493..58f3d03 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,118 +1,15 @@ -import { attachIntent, createIntent, retrieveIntent } from "./payment/intent"; -import { createMethod, retrieveMethod } from "./payment/method"; -import { - createWebhook, - disableWebhook, - enableWebhook, - listWebhooks, - retrieveWebhook, - updateWebhook, -} from "./payment/webhook"; -import { createSource, retrieveSource } from "./payment/source"; -import { - archiveLink, - createLink, - retrieveFromRefLink, - retrieveLink, - unarchiveLink, -} from "./payment/link"; -import { createPayment, retrievePayment, listPayments } from "./payment"; -import { store } from "./store"; +import { api } from "./api/base"; +import { createPaymentIntent } from "./api/payment-intent/create"; -export * from "./payment/types"; - -export interface PaymongoClient { - intent: { - attach: typeof attachIntent; - create: typeof createIntent; - retrieve: typeof retrieveIntent; - }; - method: { - create: typeof createMethod; - retrieve: typeof retrieveMethod; - }; - webhook: { - create: typeof createWebhook; - disable: typeof disableWebhook; - enable: typeof enableWebhook; - list: typeof listWebhooks; - retrieve: typeof retrieveWebhook; - update: typeof updateWebhook; - }; - source: { - create: typeof createSource; - retrieve: typeof retrieveSource; +export const createPaymongoClient = (key: string) => { + api.defaults.auth = { + username: key, + password: "", }; - link: { - archive: typeof archiveLink; - create: typeof createLink; - retrieveFromRef: typeof retrieveFromRefLink; - retrieve: typeof retrieveLink; - unarchive: typeof unarchiveLink; - }; - payment: { - create: typeof createPayment; - retrieve: typeof retrievePayment; - list: typeof listPayments; - }; -} - -export type ClientFunction = (secretKey: string) => PaymongoClient; - -/** - * @module PaymongoClient - * @param secretKey - The secret key of your Paymongo account. - * @returns {PaymongoClient} - The Paymongo client. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * return client; - * } - * ``` - * @returns - */ -const PaymongoClient: ClientFunction = (secretKey: string) => { - store.setState((state) => ({ ...state, secretKey })); return { - intent: { - attach: attachIntent, - create: createIntent, - retrieve: retrieveIntent, - }, - method: { - create: createMethod, - retrieve: retrieveMethod, - }, - webhook: { - create: createWebhook, - disable: disableWebhook, - enable: enableWebhook, - list: listWebhooks, - retrieve: retrieveWebhook, - update: updateWebhook, - }, - source: { - create: createSource, - retrieve: retrieveSource, - }, - link: { - archive: archiveLink, - create: createLink, - retrieveFromRef: retrieveFromRefLink, - retrieve: retrieveLink, - unarchive: unarchiveLink, - }, - payment: { - create: createPayment, - retrieve: retrievePayment, - list: listPayments, + paymentIntent: { + create: createPaymentIntent, }, }; }; - -export default PaymongoClient; diff --git a/src/config.ts b/src/old/config.ts similarity index 100% rename from src/config.ts rename to src/old/config.ts diff --git a/src/old/index.ts b/src/old/index.ts new file mode 100644 index 0000000..8da1bd1 --- /dev/null +++ b/src/old/index.ts @@ -0,0 +1,121 @@ +import { attachIntent, createIntent, retrieveIntent } from "./payment/intent"; +import { createMethod, retrieveMethod } from "./payment/method"; +import { + createWebhook, + disableWebhook, + enableWebhook, + listWebhooks, + retrieveWebhook, + updateWebhook, +} from "./payment/webhook"; +import { createSource, retrieveSource } from "./payment/source"; +import { + archiveLink, + createLink, + retrieveFromRefLink, + retrieveLink, + unarchiveLink, +} from "./payment/link"; +import { createPayment, retrievePayment, listPayments } from "./payment"; +import client from "./utils/api-base"; + +export * from "./payment/types"; + +export interface PaymongoClient { + intent: { + attach: typeof attachIntent; + create: typeof createIntent; + retrieve: typeof retrieveIntent; + }; + method: { + create: typeof createMethod; + retrieve: typeof retrieveMethod; + }; + webhook: { + create: typeof createWebhook; + disable: typeof disableWebhook; + enable: typeof enableWebhook; + list: typeof listWebhooks; + retrieve: typeof retrieveWebhook; + update: typeof updateWebhook; + }; + source: { + create: typeof createSource; + retrieve: typeof retrieveSource; + }; + link: { + archive: typeof archiveLink; + create: typeof createLink; + retrieveFromRef: typeof retrieveFromRefLink; + retrieve: typeof retrieveLink; + unarchive: typeof unarchiveLink; + }; + payment: { + create: typeof createPayment; + retrieve: typeof retrievePayment; + list: typeof listPayments; + }; +} + +export type ClientFunction = (secretKey: string) => PaymongoClient; + +/** + * @module PaymongoClient + * @param secretKey - The secret key of your Paymongo account. + * @returns {PaymongoClient} - The Paymongo client. + * + * @example + * ```js + * import PaymongoClient from "paymongo.js"; + * + * const main = async () => { + * const client = PaymongoClient("sk_test_key"); + * return client; + * } + * ``` + * @returns + */ +export const createClient: ClientFunction = ( + secretKey: string +): PaymongoClient => { + client.defaults.auth = { + username: secretKey, + password: "", + }; + + return { + intent: { + attach: attachIntent, + create: createIntent, + retrieve: retrieveIntent, + }, + method: { + create: createMethod, + retrieve: retrieveMethod, + }, + webhook: { + create: createWebhook, + disable: disableWebhook, + enable: enableWebhook, + list: listWebhooks, + retrieve: retrieveWebhook, + update: updateWebhook, + }, + source: { + create: createSource, + retrieve: retrieveSource, + }, + link: { + archive: archiveLink, + create: createLink, + retrieveFromRef: retrieveFromRefLink, + retrieve: retrieveLink, + unarchive: unarchiveLink, + }, + payment: { + create: createPayment, + retrieve: retrievePayment, + list: listPayments, + }, + }; +}; diff --git a/src/payment/create-payment.ts b/src/old/payment/create-payment.ts similarity index 100% rename from src/payment/create-payment.ts rename to src/old/payment/create-payment.ts diff --git a/src/payment/index.ts b/src/old/payment/index.ts similarity index 100% rename from src/payment/index.ts rename to src/old/payment/index.ts diff --git a/src/payment/intent/attach-intent.ts b/src/old/payment/intent/attach-intent.ts similarity index 100% rename from src/payment/intent/attach-intent.ts rename to src/old/payment/intent/attach-intent.ts diff --git a/src/payment/intent/create-intent.ts b/src/old/payment/intent/create-intent.ts similarity index 100% rename from src/payment/intent/create-intent.ts rename to src/old/payment/intent/create-intent.ts diff --git a/src/payment/intent/index.ts b/src/old/payment/intent/index.ts similarity index 100% rename from src/payment/intent/index.ts rename to src/old/payment/intent/index.ts diff --git a/src/payment/intent/retrieve-intent.ts b/src/old/payment/intent/retrieve-intent.ts similarity index 100% rename from src/payment/intent/retrieve-intent.ts rename to src/old/payment/intent/retrieve-intent.ts diff --git a/src/payment/intent/types.ts b/src/old/payment/intent/types.ts similarity index 100% rename from src/payment/intent/types.ts rename to src/old/payment/intent/types.ts diff --git a/src/payment/link/archive-link.ts b/src/old/payment/link/archive-link.ts similarity index 100% rename from src/payment/link/archive-link.ts rename to src/old/payment/link/archive-link.ts diff --git a/src/payment/link/create-link.ts b/src/old/payment/link/create-link.ts similarity index 100% rename from src/payment/link/create-link.ts rename to src/old/payment/link/create-link.ts diff --git a/src/payment/link/index.ts b/src/old/payment/link/index.ts similarity index 100% rename from src/payment/link/index.ts rename to src/old/payment/link/index.ts diff --git a/src/payment/link/retrieve-from-ref-link.ts b/src/old/payment/link/retrieve-from-ref-link.ts similarity index 100% rename from src/payment/link/retrieve-from-ref-link.ts rename to src/old/payment/link/retrieve-from-ref-link.ts diff --git a/src/payment/link/retrieve-link.ts b/src/old/payment/link/retrieve-link.ts similarity index 100% rename from src/payment/link/retrieve-link.ts rename to src/old/payment/link/retrieve-link.ts diff --git a/src/payment/link/types.ts b/src/old/payment/link/types.ts similarity index 100% rename from src/payment/link/types.ts rename to src/old/payment/link/types.ts diff --git a/src/payment/link/unarchive-link.ts b/src/old/payment/link/unarchive-link.ts similarity index 100% rename from src/payment/link/unarchive-link.ts rename to src/old/payment/link/unarchive-link.ts diff --git a/src/payment/list-payments.ts b/src/old/payment/list-payments.ts similarity index 100% rename from src/payment/list-payments.ts rename to src/old/payment/list-payments.ts diff --git a/src/payment/method/create-method.ts b/src/old/payment/method/create-method.ts similarity index 100% rename from src/payment/method/create-method.ts rename to src/old/payment/method/create-method.ts diff --git a/src/payment/method/index.ts b/src/old/payment/method/index.ts similarity index 100% rename from src/payment/method/index.ts rename to src/old/payment/method/index.ts diff --git a/src/payment/method/retrieve-method.ts b/src/old/payment/method/retrieve-method.ts similarity index 100% rename from src/payment/method/retrieve-method.ts rename to src/old/payment/method/retrieve-method.ts diff --git a/src/payment/method/types.ts b/src/old/payment/method/types.ts similarity index 100% rename from src/payment/method/types.ts rename to src/old/payment/method/types.ts diff --git a/src/payment/refund/create-refund.ts b/src/old/payment/refund/create-refund.ts similarity index 100% rename from src/payment/refund/create-refund.ts rename to src/old/payment/refund/create-refund.ts diff --git a/src/payment/refund/index.ts b/src/old/payment/refund/index.ts similarity index 100% rename from src/payment/refund/index.ts rename to src/old/payment/refund/index.ts diff --git a/src/payment/retrieve-payment.ts b/src/old/payment/retrieve-payment.ts similarity index 100% rename from src/payment/retrieve-payment.ts rename to src/old/payment/retrieve-payment.ts diff --git a/src/payment/source/create-source.ts b/src/old/payment/source/create-source.ts similarity index 100% rename from src/payment/source/create-source.ts rename to src/old/payment/source/create-source.ts diff --git a/src/payment/source/index.ts b/src/old/payment/source/index.ts similarity index 100% rename from src/payment/source/index.ts rename to src/old/payment/source/index.ts diff --git a/src/payment/source/retrieve-source.ts b/src/old/payment/source/retrieve-source.ts similarity index 100% rename from src/payment/source/retrieve-source.ts rename to src/old/payment/source/retrieve-source.ts diff --git a/src/payment/source/types.ts b/src/old/payment/source/types.ts similarity index 100% rename from src/payment/source/types.ts rename to src/old/payment/source/types.ts diff --git a/src/payment/types.ts b/src/old/payment/types.ts similarity index 100% rename from src/payment/types.ts rename to src/old/payment/types.ts diff --git a/src/payment/webhook/create-webhook.ts b/src/old/payment/webhook/create-webhook.ts similarity index 100% rename from src/payment/webhook/create-webhook.ts rename to src/old/payment/webhook/create-webhook.ts diff --git a/src/payment/webhook/disable-webhook.ts b/src/old/payment/webhook/disable-webhook.ts similarity index 100% rename from src/payment/webhook/disable-webhook.ts rename to src/old/payment/webhook/disable-webhook.ts diff --git a/src/payment/webhook/enable-webhook.ts b/src/old/payment/webhook/enable-webhook.ts similarity index 100% rename from src/payment/webhook/enable-webhook.ts rename to src/old/payment/webhook/enable-webhook.ts diff --git a/src/payment/webhook/index.ts b/src/old/payment/webhook/index.ts similarity index 100% rename from src/payment/webhook/index.ts rename to src/old/payment/webhook/index.ts diff --git a/src/payment/webhook/list-webhooks.ts b/src/old/payment/webhook/list-webhooks.ts similarity index 100% rename from src/payment/webhook/list-webhooks.ts rename to src/old/payment/webhook/list-webhooks.ts diff --git a/src/payment/webhook/retrieve-webhook.ts b/src/old/payment/webhook/retrieve-webhook.ts similarity index 100% rename from src/payment/webhook/retrieve-webhook.ts rename to src/old/payment/webhook/retrieve-webhook.ts diff --git a/src/payment/webhook/types.ts b/src/old/payment/webhook/types.ts similarity index 100% rename from src/payment/webhook/types.ts rename to src/old/payment/webhook/types.ts diff --git a/src/payment/webhook/update-webhook.ts b/src/old/payment/webhook/update-webhook.ts similarity index 100% rename from src/payment/webhook/update-webhook.ts rename to src/old/payment/webhook/update-webhook.ts diff --git a/src/utils/api-base.ts b/src/old/utils/api-base.ts similarity index 65% rename from src/utils/api-base.ts rename to src/old/utils/api-base.ts index fa2797b..fc06319 100644 --- a/src/utils/api-base.ts +++ b/src/old/utils/api-base.ts @@ -1,6 +1,5 @@ import axios from "axios"; import config from "../config"; -import { store } from "../store"; export const baseUrl = config.BASE_URL; @@ -14,11 +13,4 @@ const axiosInstance = axios.create({ responseType: "json", }); -store.subscribe((state) => { - axiosInstance.defaults.auth = { - username: state.secretKey, - password: "", - }; -}); - export default axiosInstance; diff --git a/src/store/index.ts b/src/store/index.ts deleted file mode 100644 index 7a05565..0000000 --- a/src/store/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import create from "zustand/vanilla"; - -export interface AppStore { - secretKey: string; - setSecretKey: (secretKey: string) => void; -} - -export const store = create((set) => ({ - secretKey: "", - setSecretKey: (secretKey) => set((state) => ({ ...state, secretKey })), -})); diff --git a/test/sample.test.ts b/test/sample.test.ts new file mode 100644 index 0000000..de66a3e --- /dev/null +++ b/test/sample.test.ts @@ -0,0 +1,10 @@ +import "dotenv/config"; +import { createPaymongoClient } from "../src"; +import { test, expect } from "vitest"; + +test("yeet", async () => { + const key = process.env.PM_SECRET_KEY as string; + const client = createPaymongoClient(key); + const res = await client.paymentIntent.create(); + expect(res).toEqual("hello world"); +}); diff --git a/test/intent.test.ts b/test_old/intent.ts similarity index 100% rename from test/intent.test.ts rename to test_old/intent.ts diff --git a/test/link.test.ts b/test_old/link.ts similarity index 100% rename from test/link.test.ts rename to test_old/link.ts diff --git a/test/method.test.ts b/test_old/method.ts similarity index 100% rename from test/method.test.ts rename to test_old/method.ts diff --git a/test/payment.test.ts b/test_old/payment.ts similarity index 100% rename from test/payment.test.ts rename to test_old/payment.ts diff --git a/test/source.test.ts b/test_old/source.ts similarity index 100% rename from test/source.test.ts rename to test_old/source.ts diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..77a73cf --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: {}, +}); From 34678866fb4b2b2d71df3a4554146045c47c90be Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 23:16:06 +0800 Subject: [PATCH 08/44] feat: payment-intent/create --- package.json | 18 +--- pnpm-lock.yaml | 116 ++++++++++------------ src/api/payment-intent/create.ts | 126 +++++++++++++++++++----- src/index.ts | 4 + src/old/payment/intent/create-intent.ts | 2 +- test/payment-intent.test.ts | 15 +++ test/sample.test.ts | 10 -- test_old/intent.ts | 57 ----------- test_old/link.ts | 71 ------------- test_old/method.ts | 65 ------------ test_old/payment.ts | 59 ----------- test_old/source.ts | 94 ------------------ 12 files changed, 176 insertions(+), 461 deletions(-) create mode 100644 test/payment-intent.test.ts delete mode 100644 test/sample.test.ts delete mode 100644 test_old/intent.ts delete mode 100644 test_old/link.ts delete mode 100644 test_old/method.ts delete mode 100644 test_old/payment.ts delete mode 100644 test_old/source.ts diff --git a/package.json b/package.json index 317f61c..9170a87 100644 --- a/package.json +++ b/package.json @@ -15,35 +15,23 @@ "build": "tsup src/index.ts --dts --format cjs,esm", "test": "vitest", "coverage": "vitest run --coverage", - "lint": "eslint --fix src/**/*.{js,ts}", - "size": "size-limit" + "lint": "eslint --fix src/**/*.{js,ts}" }, - "size-limit": [ - { - "path": "dist/index.js", - "limit": "10 kB" - }, - { - "path": "dist/index.mjs", - "limit": "10 kB" - } - ], "devDependencies": { - "@size-limit/preset-small-lib": "^8.2.4", "@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/parser": "^5.9.0", "dotenv": "^16.0.3", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", "prettier": "2.8.6", - "size-limit": "^8.2.4", "tslib": "^2.3.1", "tsup": "^6.7.0", "typescript": "^5.0.2", "vitest": "^0.29.7" }, "dependencies": { - "axios": "^0.24.0" + "zod": "^3.21.4", + "axios": "^1.3.4" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8e3baf..696503b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,32 +1,30 @@ lockfileVersion: 5.4 specifiers: - '@size-limit/preset-small-lib': ^8.2.4 '@typescript-eslint/eslint-plugin': ^5.9.0 '@typescript-eslint/parser': ^5.9.0 - axios: ^0.24.0 + axios: ^1.3.4 dotenv: ^16.0.3 eslint: ^8.6.0 eslint-config-prettier: ^8.3.0 prettier: 2.8.6 - size-limit: ^8.2.4 tslib: ^2.3.1 tsup: ^6.7.0 typescript: ^5.0.2 vitest: ^0.29.7 + zod: ^3.21.4 dependencies: - axios: 0.24.0 + axios: 1.3.4 + zod: 3.21.4 devDependencies: - '@size-limit/preset-small-lib': 8.2.4_size-limit@8.2.4 '@typescript-eslint/eslint-plugin': 5.56.0_2hcjazgfnbtq42tcc73br2vup4 '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu dotenv: 16.0.3 eslint: 8.36.0 eslint-config-prettier: 8.8.0_eslint@8.36.0 prettier: 2.8.6 - size-limit: 8.2.4 tslib: 2.5.0 tsup: 6.7.0_typescript@5.0.2 typescript: 5.0.2 @@ -310,37 +308,6 @@ packages: fastq: 1.15.0 dev: true - /@size-limit/esbuild/8.2.4_size-limit@8.2.4: - resolution: {integrity: sha512-kPgNfpwUvBD98s5axlf1UciFg4Ki4AYSl/cOmSyyYBuzksHiwW7Myeu0w4mTxtV9nwBFbkrrNXqszE7b+OhFLA==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - peerDependencies: - size-limit: 8.2.4 - dependencies: - esbuild: 0.17.12 - nanoid: 3.3.4 - size-limit: 8.2.4 - dev: true - - /@size-limit/file/8.2.4_size-limit@8.2.4: - resolution: {integrity: sha512-xLuF97W7m7lxrRJvqXRlxO/4t7cpXtfxOnjml/t4aRVUCMXLdyvebRr9OM4jjoK8Fmiz8jomCbETUCI3jVhLzA==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - peerDependencies: - size-limit: 8.2.4 - dependencies: - semver: 7.3.8 - size-limit: 8.2.4 - dev: true - - /@size-limit/preset-small-lib/8.2.4_size-limit@8.2.4: - resolution: {integrity: sha512-AL4384oBgMcDPlNblgWHreqFSSOui0J9NbgyHhegB1h8AgRyHbdVGC3yWLpEESYQXHYnKdbNrYeRE/TclsViog==} - peerDependencies: - size-limit: 8.2.4 - dependencies: - '@size-limit/esbuild': 8.2.4_size-limit@8.2.4 - '@size-limit/file': 8.2.4_size-limit@8.2.4 - size-limit: 8.2.4 - dev: true - /@types/chai-subset/1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: @@ -604,10 +571,16 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /axios/0.24.0: - resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /axios/1.3.4: + resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} dependencies: follow-redirects: 1.15.2 + form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false @@ -645,11 +618,6 @@ packages: load-tsconfig: 0.2.5 dev: true - /bytes-iec/3.1.1: - resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} - engines: {node: '>= 0.8'} - dev: true - /cac/6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -719,6 +687,13 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + /commander/4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -760,6 +735,11 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} @@ -1032,6 +1012,15 @@ packages: optional: true dev: false + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -1311,6 +1300,18 @@ packages: picomatch: 2.3.1 dev: true + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + /mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -1349,12 +1350,6 @@ packages: hasBin: true dev: true - /nanospinner/1.1.0: - resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} - dependencies: - picocolors: 1.0.0 - dev: true - /natural-compare-lite/1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -1532,6 +1527,10 @@ packages: react-is: 17.0.2 dev: true + /proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -1625,19 +1624,6 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /size-limit/8.2.4: - resolution: {integrity: sha512-Un16nSreD1v2CYwSorattiJcHuAWqXvg4TsGgzpjnoByqQwsSfCIEQHuaD14HNStzredR8cdsO9oGH91ibypTA==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - hasBin: true - dependencies: - bytes-iec: 3.1.1 - chokidar: 3.5.3 - globby: 11.1.0 - lilconfig: 2.1.0 - nanospinner: 1.1.0 - picocolors: 1.0.0 - dev: true - /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -2052,3 +2038,7 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true + + /zod/3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + dev: false diff --git a/src/api/payment-intent/create.ts b/src/api/payment-intent/create.ts index 30f3565..82f261c 100644 --- a/src/api/payment-intent/create.ts +++ b/src/api/payment-intent/create.ts @@ -1,29 +1,103 @@ +import { AxiosError } from "axios"; import { api } from "../base"; +import { ZodError, z } from "zod"; -export const createPaymentIntent = async () => { - const res = await api.post("/payment_intents", { - data: { - attributes: { - amount: 10000, - payment_method_allowed: [ - "atome", - "card", - "dob", - "paymaya", - "billease", - "gcash", - "grab_pay", - ], - payment_method_options: { - card: { - request_three_d_secure: "any", - }, - }, - currency: "PHP", - capture_type: "automatic", - }, - }, - }); - console.log(res.data); - return "hello world"; +export const paymentIntentCreateInputSchema = z.object({ + amount: z.number().min(0), + payment_method_allowed: z.array( + z.enum(["atome", "card", "dob", "paymaya", "billease", "gcash", "grab_pay"]) + ), + payment_method_options: z + .object({ + card: z.object({ + request_three_d_secure: z.enum(["any", "automatic"]), + }), + }) + .optional(), + description: z.string().optional(), + statement_descriptor: z.string().optional(), + currency: z.enum(["PHP"]), + capture_type: z.enum(["manual", "automatic"]).optional(), + setup_future_usage: z + .object({ + session_type: z.enum(["on_session"]), + customer_id: z.string(), + }) + .optional(), + metadata: z.any().optional(), +}); + +export type PaymentIntentCreateInput = z.infer< + typeof paymentIntentCreateInputSchema +>; + +export const paymentIntentCreateOutputSchema = z.object({ + data: z.object({ + id: z.string(), + type: z.string(), + attributes: z.object({ + amount: z.number(), + capture_type: z.string(), + client_key: z.string(), + currency: z.string(), + description: z.string().nullable(), + livemode: z.boolean(), + statement_descriptor: z.string(), + status: z.string(), + last_payment_error: z.any().nullable(), + payment_method_allowed: z.array(z.string()), + payments: z.array(z.any()), + next_action: z.any().nullable(), + payment_method_options: z.object({ + card: z.object({ + request_three_d_secure: z.string(), + }), + }), + metadata: z.any().nullable(), + setup_future_usage: z.any().nullable(), + created_at: z.number(), + updated_at: z.number(), + }), + }), +}); + +export type PaymentIntentCreateOutput = z.infer< + typeof paymentIntentCreateOutputSchema +>; + +/** + * # paymentIntent.create + * + * @example + * ```js + * import PaymongoClient from "paymongo.js"; + * + * const main = async () => { + * const client = createPaymongoClient("secret-key"); + * const data = await client.paymentIntent.create({ + * amount: 10000, + * payment_method_allowed: ["card", "gcash"], + * currency: "PHP", + * }); + * return data; + * } + * ``` + */ +export const createPaymentIntent = async ( + input: PaymentIntentCreateInput +): Promise => { + try { + const parsedInput = paymentIntentCreateInputSchema.parse(input); + const res = await api.post("/payment_intents", { + data: { attributes: parsedInput }, + }); + return paymentIntentCreateOutputSchema.parse(res.data); + } catch (e) { + if (e instanceof AxiosError) { + throw new Error(e.response?.data); + } else if (e instanceof ZodError) { + throw new Error(e.message); + } + throw e; + } }; diff --git a/src/index.ts b/src/index.ts index 58f3d03..581b931 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,9 @@ import { api } from "./api/base"; import { createPaymentIntent } from "./api/payment-intent/create"; +export type { + PaymentIntentCreateInput, + PaymentIntentCreateOutput, +} from "./api/payment-intent/create"; export const createPaymongoClient = (key: string) => { api.defaults.auth = { diff --git a/src/old/payment/intent/create-intent.ts b/src/old/payment/intent/create-intent.ts index 2879598..834c76e 100644 --- a/src/old/payment/intent/create-intent.ts +++ b/src/old/payment/intent/create-intent.ts @@ -9,7 +9,7 @@ const defaultProps: CreatePaymentIntentProps = { }; /** - * @module createIntent + * @module payment-intent/create * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now. * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card. diff --git a/test/payment-intent.test.ts b/test/payment-intent.test.ts new file mode 100644 index 0000000..3e8fe0c --- /dev/null +++ b/test/payment-intent.test.ts @@ -0,0 +1,15 @@ +import "dotenv/config"; +import { createPaymongoClient } from "../src"; +import { test, expect } from "vitest"; + +test("can create payment intent", async () => { + const key = process.env.PM_SECRET_KEY as string; + const client = createPaymongoClient(key); + const res = await client.paymentIntent.create({ + amount: 10000, + payment_method_allowed: ["card", "gcash"], + currency: "PHP", + }); + expect(res.data.type).toEqual("payment_intent"); + expect(res.data.attributes.amount).toEqual(10000); +}); diff --git a/test/sample.test.ts b/test/sample.test.ts deleted file mode 100644 index de66a3e..0000000 --- a/test/sample.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import "dotenv/config"; -import { createPaymongoClient } from "../src"; -import { test, expect } from "vitest"; - -test("yeet", async () => { - const key = process.env.PM_SECRET_KEY as string; - const client = createPaymongoClient(key); - const res = await client.paymentIntent.create(); - expect(res).toEqual("hello world"); -}); diff --git a/test_old/intent.ts b/test_old/intent.ts deleted file mode 100644 index 5006594..0000000 --- a/test_old/intent.ts +++ /dev/null @@ -1,57 +0,0 @@ -import PaymongoClient, { PaymentIntentResponse } from "../src"; - -describe("PaymentIntent", () => { - const OLD_ENV = process.env; - let client: ReturnType; - let intent: PaymentIntentResponse; - let SECRET_KEY = ""; - - beforeAll(async () => { - process.env = { ...OLD_ENV }; - SECRET_KEY = process.env.PM_SECRET_KEY as string; - client = PaymongoClient(SECRET_KEY); - intent = await client.intent.create({ - amount: 100000, - }); - }); - - afterAll(() => { - process.env = OLD_ENV; - }); - - describe("can create a payment intent", () => { - it("has correct amount", () => { - expect(intent.data.attributes.amount).toBe(100000); - }); - - it("has correct resource type", () => { - expect(intent.data.type).toBe("payment_intent"); - }); - - it("is awaiting payment method", () => { - expect(intent.data.attributes.status).toBe("awaiting_payment_method"); - }); - }); - - describe("can retrieve a payment intent", () => { - let retrieved: PaymentIntentResponse; - - beforeAll(async () => { - retrieved = await client.intent.retrieve({ - intentId: intent.data.id, - }); - }); - - it("has correct amount", () => { - expect(retrieved.data.attributes.amount).toBe(100000); - }); - - it("has correct resource type", () => { - expect(retrieved.data.type).toBe("payment_intent"); - }); - - it("is awaiting payment method", () => { - expect(retrieved.data.attributes.status).toBe("awaiting_payment_method"); - }); - }); -}); diff --git a/test_old/link.ts b/test_old/link.ts deleted file mode 100644 index 9eff55c..0000000 --- a/test_old/link.ts +++ /dev/null @@ -1,71 +0,0 @@ -import PaymongoClient, { PaymentLinkData, PaymentLinkResponse } from "../src"; - -describe("PaymentLink", () => { - const OLD_ENV = process.env; - let client: ReturnType; - let SECRET_KEY = ""; - let LINK_ID = ""; - let LINK_REF = ""; - - beforeAll(async () => { - process.env = { ...OLD_ENV }; - SECRET_KEY = process.env.PM_SECRET_KEY as string; - LINK_ID = process.env.PM_LINK_ID as string; - LINK_REF = process.env.PM_LINK_REF as string; - client = PaymongoClient(SECRET_KEY); - }); - - afterAll(() => { - process.env = OLD_ENV; - }); - - // it("can create a payment method", async () => { - // const link = await client.link.create({ - // amount: 10000, - // description: "Test payment link", - // }); - - // expect(link.data.attributes.amount).toBe(10000); - // expect(link.data.attributes.description).toBe("Test payment link"); - // }); - - describe("can retrieve a payment link", () => { - let retrieved: PaymentLinkResponse; - - beforeAll(async () => { - retrieved = await client.link.retrieve(LINK_ID); - }); - - it("has correct resource type", () => { - expect(retrieved.data.type).toBe("link"); - }); - - it("has correct attributes", () => { - expect(retrieved.data.attributes.amount).toBe(12000); - expect(retrieved.data.attributes.currency).toBe("PHP"); - expect(retrieved.data.attributes.description).toBe("test description"); - expect(retrieved.data.attributes.livemode).toBe(false); - expect(retrieved.data.attributes.reference_number).toBe("D5f52ak"); - }); - }); - - describe("can retrieve from reference number", () => { - let retrieved: PaymentLinkData; - - beforeAll(async () => { - retrieved = (await client.link.retrieveFromRef(LINK_REF)).data[0]; - }); - - it("has correct resource type", () => { - expect(retrieved.type).toBe("link"); - }); - - it("has correct attributes", () => { - expect(retrieved.attributes.amount).toBe(12000); - expect(retrieved.attributes.currency).toBe("PHP"); - expect(retrieved.attributes.description).toBe("test description"); - expect(retrieved.attributes.livemode).toBe(false); - expect(retrieved.attributes.reference_number).toBe("D5f52ak"); - }); - }); -}); diff --git a/test_old/method.ts b/test_old/method.ts deleted file mode 100644 index adfab64..0000000 --- a/test_old/method.ts +++ /dev/null @@ -1,65 +0,0 @@ -import PaymongoClient, { PaymentMethodResponse } from "../src"; - -describe("PaymentMethod", () => { - const OLD_ENV = process.env; - let client: ReturnType; - let method: PaymentMethodResponse; - let SECRET_KEY = ""; - - beforeAll(async () => { - process.env = { ...OLD_ENV }; - SECRET_KEY = process.env.PM_SECRET_KEY as string; - client = PaymongoClient(SECRET_KEY); - method = await client.method.create({ - details: { - cardNumber: "4343434343434345", - expMonth: 3, - expYear: 2023, - cvc: "321", - }, - type: "card", - }); - }); - - afterAll(() => { - process.env = OLD_ENV; - }); - - describe("can create a payment method", () => { - it("has correct details", () => { - expect(method.data.attributes.details.last4).toBe("4345"); - expect(method.data.attributes.details.exp_month).toBe(3); - expect(method.data.attributes.details.exp_year).toBe(2023); - }); - - it("has correct resource type", () => { - expect(method.data.type).toBe("payment_method"); - }); - - it("is a card method", () => { - expect(method.data.attributes.type).toBe("card"); - }); - }); - - describe("can retrieve a payment method", () => { - let retrieved: PaymentMethodResponse; - - beforeAll(async () => { - retrieved = await client.method.retrieve(method.data.id); - }); - - it("has correct details", () => { - expect(retrieved.data.attributes.details.last4).toBe("4345"); - expect(retrieved.data.attributes.details.exp_month).toBe(3); - expect(retrieved.data.attributes.details.exp_year).toBe(2023); - }); - - it("has correct resource type", () => { - expect(retrieved.data.type).toBe("payment_method"); - }); - - it("is a card method", () => { - expect(retrieved.data.attributes.type).toBe("card"); - }); - }); -}); diff --git a/test_old/payment.ts b/test_old/payment.ts deleted file mode 100644 index 9b2478f..0000000 --- a/test_old/payment.ts +++ /dev/null @@ -1,59 +0,0 @@ -import PaymongoClient, { ListPaymentResponse, PaymentResponse } from "../src"; - -describe("Payment", () => { - const OLD_ENV = process.env; - let client: ReturnType; - let SECRET_KEY = ""; - let PAYMENT_ID = ""; - - beforeAll(async () => { - process.env = { ...OLD_ENV }; - SECRET_KEY = process.env.PM_SECRET_KEY as string; - PAYMENT_ID = process.env.PM_PAYMENT_ID as string; - client = PaymongoClient(SECRET_KEY); - }); - - afterAll(() => { - process.env = OLD_ENV; - }); - - describe("can list payments", () => { - let retrieved: ListPaymentResponse; - - beforeAll(async () => { - retrieved = await client.payment.list(); - }); - - it("has more", () => { - expect(retrieved.has_more).toBe(true); - }); - - it("is not null", () => { - expect(retrieved.data).not.toBeNull(); - }); - }); - - describe("can retrieve a payment", () => { - let retrieved: PaymentResponse; - - beforeAll(async () => { - retrieved = await client.payment.retrieve(PAYMENT_ID); - }); - - it("has correct amount", () => { - expect(retrieved.data.attributes.amount).toBe(10000); - }); - - it("has correct resource type", () => { - expect(retrieved.data.type).toBe("payment"); - }); - - it("has correct source type", () => { - expect(retrieved.data.attributes.source.type).toBe("card"); - }); - - it("is paid", () => { - expect(retrieved.data.attributes.status).toBe("paid"); - }); - }); -}); diff --git a/test_old/source.ts b/test_old/source.ts deleted file mode 100644 index 8eec279..0000000 --- a/test_old/source.ts +++ /dev/null @@ -1,94 +0,0 @@ -import PaymongoClient, { PaymentSourceResponse } from "../src"; - -const successUrl = "http://example.com/gcash/success"; -const failedUrl = "http://example.com/gcash/failed"; - -describe("PaymentSource", () => { - const OLD_ENV = process.env; - let client: ReturnType; - let source: PaymentSourceResponse; - let SECRET_KEY = ""; - - beforeAll(async () => { - process.env = { ...OLD_ENV }; - SECRET_KEY = process.env.PM_SECRET_KEY as string; - client = PaymongoClient(SECRET_KEY); - source = await client.source.create({ - amount: 10000, - currency: "PHP", - redirect: { - failed: failedUrl, - success: successUrl, - }, - type: "gcash", - }); - }); - - afterAll(() => { - process.env = OLD_ENV; - }); - - describe("can create a payment source", () => { - it("has correct amount", () => { - expect(source.data.attributes.amount).toBe(10000); - }); - - it("has correct currency", () => { - expect(source.data.attributes.currency).toBe("PHP"); - }); - - it("has correct resource type", () => { - expect(source.data.type).toBe("source"); - }); - - it("has correct payment type", () => { - expect(source.data.attributes.type).toBe("gcash"); - }); - - it("is pending", () => { - expect(source.data.attributes.status).toBe("pending"); - }); - - it("has correct redirects", () => { - expect(source.data.attributes.redirect.success).toBe(successUrl); - expect(source.data.attributes.redirect.failed).toBe(failedUrl); - }); - }); - - describe("can retrieve a payment source", () => { - let retrieved: PaymentSourceResponse; - - beforeAll(async () => { - retrieved = await client.source.retrieve(source.data.id); - }); - - it("has correct amount", () => { - expect(retrieved.data.attributes.amount).toBe(10000); - }); - - it("has correct currency", () => { - expect(retrieved.data.attributes.currency).toBe("PHP"); - }); - - it("has correct resource type", () => { - expect(retrieved.data.type).toBe("source"); - }); - - it("has correct payment type", () => { - expect(retrieved.data.attributes.type).toBe("gcash"); - }); - - it("is pending", () => { - expect(retrieved.data.attributes.status).toBe("pending"); - }); - - it("has correct redirects", () => { - expect(retrieved.data.attributes.redirect.success).toBe(successUrl); - expect(retrieved.data.attributes.redirect.failed).toBe(failedUrl); - }); - - it("has correct failed redirect", () => { - expect(retrieved.data.attributes.redirect.failed).toBe(failedUrl); - }); - }); -}); From de29a22a35397fbd3cf634132b8b310f31c254b0 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 23:43:13 +0800 Subject: [PATCH 09/44] chore: add changeset and workflows --- .changeset/README.md | 8 + .changeset/config.json | 11 + .changeset/rotten-chefs-tie.md | 8 + .github/workflows/main.yml | 6 +- .github/workflows/publish.yml | 36 + .github/workflows/size.yml | 12 - .gitignore | 1 + package.json | 9 +- pnpm-lock.yaml | 1609 ++++++++++++++++++++++++++++++++ test/payment-intent.test.ts | 16 +- 10 files changed, 1694 insertions(+), 22 deletions(-) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 .changeset/rotten-chefs-tie.md create mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/size.yml diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000..e5b6d8d --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..6d2119a --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.changeset/rotten-chefs-tie.md b/.changeset/rotten-chefs-tie.md new file mode 100644 index 0000000..2c4bcec --- /dev/null +++ b/.changeset/rotten-chefs-tie.md @@ -0,0 +1,8 @@ +--- +"paymongo.js": minor +--- + +- add changeset +- fix test for payment intent +- add publish workflow + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ce26a98..c54d66f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,11 +1,8 @@ name: CI - on: push: branches: - - main - - next - - dev + - "**" jobs: build: @@ -20,6 +17,7 @@ jobs: cache: "pnpm" node-version: 16.x - run: pnpm install --frozen-lockfile + - run: pnpm test - run: pnpm run lint && pnpm run build # - name: Test diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..8caefa6 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,36 @@ +name: Publish +on: + workflow_run: + workflows: ["CI"] + types: + - completed + push: + branches: + - "main" + +concurrency: ${{ github.workflow }}-${{ github.ref }} + +jobs: + publish: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 7 + - uses: actions/setup-node@v3 + with: + node-version: 16.x + cache: "pnpm" + + - run: pnpm install --frozen-lockfile + - name: Create Release Pull Request or Publish + id: changesets + uses: changesets/action@v1 + with: + publish: pnpm run release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + diff --git a/.github/workflows/size.yml b/.github/workflows/size.yml deleted file mode 100644 index bc80c4c..0000000 --- a/.github/workflows/size.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: size -on: [pull_request] -jobs: - size: - runs-on: ubuntu-latest - env: - CI_JOB_NUMBER: 1 - steps: - - uses: actions/checkout@v3 - - uses: andresz1/size-limit-action@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 5e7a1e7..4133c6c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ node_modules .eslintcache .env dist/ +coverage/ diff --git a/package.json b/package.json index 9170a87..18eebc0 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.2.1-0", + "version": "1.2.2", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -11,15 +11,16 @@ "url": "https://github.com/princejoogie/paymongo.js.git" }, "scripts": { - "dev": "tsup src/index.ts", "build": "tsup src/index.ts --dts --format cjs,esm", "test": "vitest", "coverage": "vitest run --coverage", "lint": "eslint --fix src/**/*.{js,ts}" }, "devDependencies": { + "@changesets/cli": "^2.26.0", "@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/parser": "^5.9.0", + "@vitest/coverage-c8": "^0.29.7", "dotenv": "^16.0.3", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", @@ -30,8 +31,8 @@ "vitest": "^0.29.7" }, "dependencies": { - "zod": "^3.21.4", - "axios": "^1.3.4" + "axios": "^1.3.4", + "zod": "^3.21.4" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 696503b..b63208d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,8 +1,10 @@ lockfileVersion: 5.4 specifiers: + '@changesets/cli': ^2.26.0 '@typescript-eslint/eslint-plugin': ^5.9.0 '@typescript-eslint/parser': ^5.9.0 + '@vitest/coverage-c8': ^0.29.7 axios: ^1.3.4 dotenv: ^16.0.3 eslint: ^8.6.0 @@ -19,8 +21,10 @@ dependencies: zod: 3.21.4 devDependencies: + '@changesets/cli': 2.26.0 '@typescript-eslint/eslint-plugin': 5.56.0_2hcjazgfnbtq42tcc73br2vup4 '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu + '@vitest/coverage-c8': 0.29.7_vitest@0.29.7 dotenv: 16.0.3 eslint: 8.36.0 eslint-config-prettier: 8.8.0_eslint@8.36.0 @@ -32,6 +36,222 @@ devDependencies: packages: + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/runtime/7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@bcoe/v8-coverage/0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@changesets/apply-release-plan/6.1.3: + resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/config': 2.3.0 + '@changesets/get-version-range-type': 0.3.2 + '@changesets/git': 2.0.0 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.6 + resolve-from: 5.0.0 + semver: 5.7.1 + dev: true + + /@changesets/assemble-release-plan/5.2.3: + resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + semver: 5.7.1 + dev: true + + /@changesets/changelog-git/0.1.14: + resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + dependencies: + '@changesets/types': 5.2.1 + dev: true + + /@changesets/cli/2.26.0: + resolution: {integrity: sha512-0cbTiDms+ICTVtEwAFLNW0jBNex9f5+fFv3I771nBvdnV/mOjd1QJ4+f8KtVSOrwD9SJkk9xbDkWFb0oXd8d1Q==} + hasBin: true + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/apply-release-plan': 6.1.3 + '@changesets/assemble-release-plan': 5.2.3 + '@changesets/changelog-git': 0.1.14 + '@changesets/config': 2.3.0 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/get-release-plan': 3.0.16 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@changesets/write': 0.2.3 + '@manypkg/get-packages': 1.1.3 + '@types/is-ci': 3.0.0 + '@types/semver': 6.2.3 + ansi-colors: 4.1.3 + chalk: 2.4.2 + enquirer: 2.3.6 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + is-ci: 3.0.1 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.0.3 + resolve-from: 5.0.0 + semver: 5.7.1 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.2.1 + dev: true + + /@changesets/config/2.3.0: + resolution: {integrity: sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ==} + dependencies: + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/logger': 0.0.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + dev: true + + /@changesets/errors/0.1.4: + resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + dependencies: + extendable-error: 0.1.7 + dev: true + + /@changesets/get-dependents-graph/1.3.5: + resolution: {integrity: sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA==} + dependencies: + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 5.7.1 + dev: true + + /@changesets/get-release-plan/3.0.16: + resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/assemble-release-plan': 5.2.3 + '@changesets/config': 2.3.0 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + dev: true + + /@changesets/get-version-range-type/0.3.2: + resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + dev: true + + /@changesets/git/2.0.0: + resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.5 + spawndamnit: 2.0.0 + dev: true + + /@changesets/logger/0.0.5: + resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + dependencies: + chalk: 2.4.2 + dev: true + + /@changesets/parse/0.3.16: + resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + dependencies: + '@changesets/types': 5.2.1 + js-yaml: 3.14.1 + dev: true + + /@changesets/pre/1.0.14: + resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + dev: true + + /@changesets/read/0.5.9: + resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/parse': 0.3.16 + '@changesets/types': 5.2.1 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + dev: true + + /@changesets/types/4.1.0: + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + dev: true + + /@changesets/types/5.2.1: + resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + dev: true + + /@changesets/write/0.2.3: + resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/types': 5.2.1 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.8.6 + dev: true + /@esbuild/android-arm/0.17.12: resolution: {integrity: sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ==} engines: {node: '>=12'} @@ -287,6 +507,47 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@manypkg/find-root/1.1.0: + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + dependencies: + '@babel/runtime': 7.21.0 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + dev: true + + /@manypkg/get-packages/1.1.3: + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + dev: true + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -318,14 +579,40 @@ packages: resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} dev: true + /@types/is-ci/3.0.0: + resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + dependencies: + ci-info: 3.8.0 + dev: true + + /@types/istanbul-lib-coverage/2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/node/12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + /@types/node/18.15.5: resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} dev: true + /@types/normalize-package-data/2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/semver/6.2.3: + resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} + dev: true + /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true @@ -460,6 +747,17 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vitest/coverage-c8/0.29.7_vitest@0.29.7: + resolution: {integrity: sha512-TSubtP9JFBuI/wuApxwknHe40VDkX8hFbBak0OXj4/jCeXrEu5B5GPWcxzyk9YvzXgCaDvoiZV79I7AvhNI9YQ==} + peerDependencies: + vitest: '>=0.29.0 <1' + dependencies: + c8: 7.13.0 + picocolors: 1.0.0 + std-env: 3.3.2 + vitest: 0.29.7 + dev: true + /@vitest/expect/0.29.7: resolution: {integrity: sha512-UtG0tW0DP6b3N8aw7PHmweKDsvPv4wjGvrVZW7OSxaFg76ShtVdMiMcUkZJgCE8QWUmhwaM0aQhbbVLo4F4pkA==} dependencies: @@ -519,6 +817,11 @@ packages: uri-js: 4.4.1 dev: true + /ansi-colors/4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -529,6 +832,13 @@ packages: engines: {node: '>=12'} dev: true + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + /ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -558,15 +868,43 @@ packages: picomatch: 2.3.1 dev: true + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /array-buffer-byte-length/1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true + /array.prototype.flat/1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /arrify/1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + /assertion-error/1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -575,6 +913,11 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + /axios/1.3.4: resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} dependencies: @@ -589,6 +932,13 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /better-path-resolve/1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + dependencies: + is-windows: 1.0.2 + dev: true + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -608,6 +958,12 @@ packages: fill-range: 7.0.1 dev: true + /breakword/1.0.5: + resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} + dependencies: + wcwidth: 1.0.1 + dev: true + /bundle-require/4.0.1_esbuild@0.17.12: resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -618,16 +974,56 @@ packages: load-tsconfig: 0.2.5 dev: true + /c8/7.13.0: + resolution: {integrity: sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==} + engines: {node: '>=10.12.0'} + hasBin: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@istanbuljs/schema': 0.1.3 + find-up: 5.0.0 + foreground-child: 2.0.0 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-report: 3.0.0 + istanbul-reports: 3.1.5 + rimraf: 3.0.2 + test-exclude: 6.0.0 + v8-to-istanbul: 9.1.0 + yargs: 16.2.0 + yargs-parser: 20.2.9 + dev: true + /cac/6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + dev: true + /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true + /camelcase-keys/6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + /chai/4.3.7: resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} engines: {node: '>=4'} @@ -641,6 +1037,15 @@ packages: type-detect: 4.0.8 dev: true + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -649,6 +1054,10 @@ packages: supports-color: 7.2.0 dev: true + /chardet/0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + /check-error/1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} dev: true @@ -668,6 +1077,11 @@ packages: fsevents: 2.3.2 dev: true + /ci-info/3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + /cli-truncate/3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -676,6 +1090,42 @@ packages: string-width: 5.1.2 dev: true + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone/1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + /color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -683,6 +1133,10 @@ packages: color-name: 1.1.4 dev: true + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true @@ -703,6 +1157,18 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /cross-spawn/5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -712,6 +1178,28 @@ packages: which: 2.0.2 dev: true + /csv-generate/3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + dev: true + + /csv-parse/4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + dev: true + + /csv-stringify/5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + dev: true + + /csv/5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + dev: true + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -724,6 +1212,19 @@ packages: ms: 2.1.2 dev: true + /decamelize-keys/1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + /deep-eql/4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -735,11 +1236,30 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /defaults/1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-properties/1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: false + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} @@ -768,10 +1288,91 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + /emoji-regex/9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract/1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + dev: true + + /es-set-tostringtag/2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + /esbuild/0.17.12: resolution: {integrity: sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ==} engines: {node: '>=12'} @@ -802,6 +1403,16 @@ packages: '@esbuild/win32-x64': 0.17.12 dev: true + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -895,6 +1506,12 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + /esquery/1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} @@ -939,6 +1556,19 @@ packages: strip-final-newline: 2.0.0 dev: true + /extendable-error/0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + dev: true + + /external-editor/3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -982,6 +1612,14 @@ packages: to-regex-range: 5.0.1 dev: true + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + /find-up/5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -990,6 +1628,13 @@ packages: path-exists: 4.0.0 dev: true + /find-yarn-workspace-root2/1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: true + /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1012,6 +1657,20 @@ packages: optional: true dev: false + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child/2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 3.0.7 + dev: true + /form-data/4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -1021,6 +1680,24 @@ packages: mime-types: 2.1.35 dev: false + /fs-extra/7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -1037,15 +1714,50 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true + /function.prototype.name/1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + /get-func-name/2.0.0: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} dev: true + /get-intrinsic/1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + dev: true + /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1089,6 +1801,13 @@ packages: type-fest: 0.20.2 dev: true + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: true + /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -1101,15 +1820,62 @@ packages: slash: 3.0.0 dev: true + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.0 + dev: true + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + /grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true + /hard-rejection/2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + /has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.0 + dev: true + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -1117,11 +1883,30 @@ packages: function-bind: 1.1.1 dev: true + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /human-id/1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + dev: true + /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + /ignore/5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -1140,6 +1925,11 @@ packages: engines: {node: '>=0.8.19'} dev: true + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + /inflight/1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -1151,6 +1941,33 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true + /internal-slot/1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + /is-binary-path/2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -1158,17 +1975,49 @@ packages: binary-extensions: 2.2.0 dev: true + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-ci/3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.8.0 + dev: true + /is-core-module/2.11.0: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 dev: true + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + /is-fullwidth-code-point/4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} @@ -1181,6 +2030,18 @@ packages: is-extglob: 2.1.1 dev: true + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -1191,15 +2052,99 @@ packages: engines: {node: '>=8'} dev: true + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: true + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-subdir/1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + dependencies: + better-path-resolve: 1.0.0 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array/1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /istanbul-lib-coverage/3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-reports/3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + /joycon/3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -1209,6 +2154,18 @@ packages: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + /js-yaml/4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1216,6 +2173,10 @@ packages: argparse: 2.0.1 dev: true + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -1228,6 +2189,22 @@ packages: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur/4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + /levn/0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1250,11 +2227,28 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /load-yaml-file/0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + /local-pkg/0.4.3: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} dev: true + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1270,12 +2264,23 @@ packages: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true + /lodash.startcase/4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + /loupe/2.3.6: resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} dependencies: get-func-name: 2.0.0 dev: true + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1283,6 +2288,40 @@ packages: yallist: 4.0.0 dev: true + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /map-obj/1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /meow/6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -1317,12 +2356,31 @@ packages: engines: {node: '>=6'} dev: true + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + /minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true + /minimist-options/4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /mixme/0.5.9: + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} + dev: true + /mlly/1.2.0: resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} dependencies: @@ -1358,6 +2416,15 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.1 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -1375,6 +2442,25 @@ packages: engines: {node: '>=0.10.0'} dev: true + /object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign/4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -1400,6 +2486,29 @@ packages: word-wrap: 1.2.3 dev: true + /os-tmpdir/1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /outdent/0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + dev: true + + /p-filter/2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + /p-limit/3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -1414,6 +2523,13 @@ packages: yocto-queue: 1.0.0 dev: true + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + /p-locate/5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -1421,6 +2537,16 @@ packages: p-limit: 3.1.0 dev: true + /p-map/2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + /parent-module/1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1428,6 +2554,16 @@ packages: callsites: 3.1.0 dev: true + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.18.6 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1469,11 +2605,23 @@ packages: engines: {node: '>=8.6'} dev: true + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + /pkg-types/1.0.2: resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} dependencies: @@ -1507,6 +2655,16 @@ packages: source-map-js: 1.0.2 dev: true + /preferred-pm/3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: true + /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1531,6 +2689,10 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false + /pseudomap/1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -1540,10 +2702,44 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /quick-lru/4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + /react-is/17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true + /read-pkg-up/7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg/5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /read-yaml-file/1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -1551,6 +2747,36 @@ packages: picomatch: 2.3.1 dev: true + /redent/3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regexp.prototype.flags/1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1596,6 +2822,28 @@ packages: queue-microtask: 1.2.3 dev: true + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + /semver/7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} @@ -1604,6 +2852,17 @@ packages: lru-cache: 6.0.0 dev: true + /set-blocking/2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1611,11 +2870,24 @@ packages: shebang-regex: 3.0.0 dev: true + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 + dev: true + /siginfo/2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true @@ -1637,6 +2909,19 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true + /smartwrap/2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + array.prototype.flat: 1.3.1 + breakword: 1.0.5 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + dev: true + /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -1654,6 +2939,39 @@ packages: whatwg-url: 7.1.0 dev: true + /spawndamnit/2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + dependencies: + cross-spawn: 5.1.0 + signal-exit: 3.0.7 + dev: true + + /spdx-correct/3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions/2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids/3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + /stackback/0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true @@ -1662,6 +2980,21 @@ packages: resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} dev: true + /stream-transform/2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + dependencies: + mixme: 0.5.9 + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + /string-width/5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} @@ -1671,6 +3004,31 @@ packages: strip-ansi: 7.0.1 dev: true + /string.prototype.trim/1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimend/1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimstart/1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1685,11 +3043,23 @@ packages: ansi-regex: 6.0.1 dev: true + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -1714,6 +3084,13 @@ packages: ts-interface-checker: 0.1.13 dev: true + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -1726,6 +3103,20 @@ packages: engines: {node: '>= 0.4'} dev: true + /term-size/2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + dev: true + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -1757,6 +3148,13 @@ packages: engines: {node: '>=14.0.0'} dev: true + /tmp/0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -1775,6 +3173,11 @@ packages: hasBin: true dev: true + /trim-newlines/3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + /ts-interface-checker/0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true @@ -1833,6 +3236,20 @@ packages: typescript: 5.0.2 dev: true + /tty-table/4.2.1: + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.5 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.7.1 + dev: true + /type-check/0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -1845,11 +3262,34 @@ packages: engines: {node: '>=4'} dev: true + /type-fest/0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: true + /type-fest/0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} dev: true + /type-fest/0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + dev: true + /typescript/5.0.2: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} @@ -1860,12 +3300,42 @@ packages: resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} dev: true + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 dev: true + /v8-to-istanbul/9.1.0: + resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.9.0 + dev: true + + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + /vite-node/0.29.7_@types+node@18.15.5: resolution: {integrity: sha512-PakCZLvz37yFfUPWBnLa1OYHPCGm5v4pmRrTcFN4V/N/T3I6tyP3z07S//9w+DdeL7vVd0VSeyMZuAh+449ZWw==} engines: {node: '>=v14.16.0'} @@ -1982,6 +3452,12 @@ packages: - terser dev: true + /wcwidth/1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + /webidl-conversions/4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true @@ -1994,6 +3470,47 @@ packages: webidl-conversions: 4.0.2 dev: true + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-module/2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + dev: true + + /which-pm/2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: true + + /which-typed-array/1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + dev: true + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2016,10 +3533,41 @@ packages: engines: {node: '>=0.10.0'} dev: true + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true @@ -2029,6 +3577,67 @@ packages: engines: {node: '>= 6'} dev: true + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /yargs/17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/test/payment-intent.test.ts b/test/payment-intent.test.ts index 3e8fe0c..52a551c 100644 --- a/test/payment-intent.test.ts +++ b/test/payment-intent.test.ts @@ -2,9 +2,10 @@ import "dotenv/config"; import { createPaymongoClient } from "../src"; import { test, expect } from "vitest"; +const key = process.env.PM_SECRET_KEY as string; +const client = createPaymongoClient(key); + test("can create payment intent", async () => { - const key = process.env.PM_SECRET_KEY as string; - const client = createPaymongoClient(key); const res = await client.paymentIntent.create({ amount: 10000, payment_method_allowed: ["card", "gcash"], @@ -13,3 +14,14 @@ test("can create payment intent", async () => { expect(res.data.type).toEqual("payment_intent"); expect(res.data.attributes.amount).toEqual(10000); }); + +test("rejects on zod error", async () => { + const res = client.paymentIntent.create({ + amount: 10000, + payment_method_allowed: ["card", "gcash"], + // @ts-expect-error - test file + currency: "USD", + }); + + await expect(res).rejects.toThrow(); +}); From 42dcdda2630943733761dd7619a9a298a3ef2701 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 23:45:08 +0800 Subject: [PATCH 10/44] chore: add release script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 18eebc0..77db901 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "build": "tsup src/index.ts --dts --format cjs,esm", "test": "vitest", "coverage": "vitest run --coverage", - "lint": "eslint --fix src/**/*.{js,ts}" + "lint": "eslint --fix src/**/*.{js,ts}", + "release": "pnpm build && changeset publish" }, "devDependencies": { "@changesets/cli": "^2.26.0", From 888689abc73593802006a8cfbf42728837deb2fc Mon Sep 17 00:00:00 2001 From: princejoogie Date: Tue, 21 Mar 2023 23:47:07 +0800 Subject: [PATCH 11/44] chore: add workflow secret --- .github/workflows/main.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c54d66f..8d1f917 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,14 +17,9 @@ jobs: cache: "pnpm" node-version: 16.x - run: pnpm install --frozen-lockfile - - run: pnpm test + - name: Run unit tests + env: + PM_SECRET_KEY: ${{ secrets.PM_SECRET_KEY }} + run: pnpm test - run: pnpm run lint && pnpm run build - # - name: Test - # env: - # PM_SECRET_KEY: ${{ secrets.PM_SECRET_KEY }} - # PM_WEBHOOK_ID: ${{ secrets.PM_WEBHOOK_ID }} - # PM_LINK_ID: ${{ secrets.PM_LINK_ID }} - # PM_LINK_REF: ${{ secrets.PM_LINK_REF }} - # PM_PAYMENT_ID: ${{ secrets.PM_PAYMENT_ID }} - # run: pnpm test --clearCache && pnpm test --ci --coverage --maxWorkers=2 From 3f8e2e93f2d967e8df36edd723079b8c0346ee66 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 00:28:51 +0800 Subject: [PATCH 12/44] chore: add retrieve payment and update readme --- .changeset/rotten-chefs-tie.md | 8 --- .changeset/smart-baboons-buy.md | 15 ++++++ README.md | 80 +++++++----------------------- src/api/payment-intent/create.ts | 47 +++--------------- src/api/payment-intent/retrieve.ts | 50 +++++++++++++++++++ src/api/payment-intent/types.ts | 33 ++++++++++++ src/client.ts | 21 ++++++++ src/index.ts | 20 +++----- test/payment-intent.test.ts | 50 +++++++++++++------ 9 files changed, 186 insertions(+), 138 deletions(-) delete mode 100644 .changeset/rotten-chefs-tie.md create mode 100644 .changeset/smart-baboons-buy.md create mode 100644 src/api/payment-intent/retrieve.ts create mode 100644 src/api/payment-intent/types.ts create mode 100644 src/client.ts diff --git a/.changeset/rotten-chefs-tie.md b/.changeset/rotten-chefs-tie.md deleted file mode 100644 index 2c4bcec..0000000 --- a/.changeset/rotten-chefs-tie.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"paymongo.js": minor ---- - -- add changeset -- fix test for payment intent -- add publish workflow - diff --git a/.changeset/smart-baboons-buy.md b/.changeset/smart-baboons-buy.md new file mode 100644 index 0000000..fb9a3bd --- /dev/null +++ b/.changeset/smart-baboons-buy.md @@ -0,0 +1,15 @@ +--- +"paymongo.js": major +--- + +# v2 api + +### Breaking Changes + +- The structure of the api for v2 has renamed most of the functions. We recommend reading the usage guide for v2. + +### Log + +- add changeset +- fix test for payment intent +- add publish workflow diff --git a/README.md b/README.md index f025219..9faec71 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@ # paymongo.js ![CI](https://github.com/princejoogie/paymongo.js/actions/workflows/main.yml/badge.svg) -![CJS](https://img.badgesize.io/princejoogie/paymongo.js/main/dist/paymongo.js.cjs.production.min.js?label=CJS) -![ESM](https://img.badgesize.io/princejoogie/paymongo.js/main/dist/paymongo.js.esm.js?label=ESM) ![License](https://img.shields.io/badge/license-MIT-brightgreen?style=flat) ![Version](https://img.shields.io/github/v/release/princejoogie/paymongo.js?color=%2349C31B&include_prereleases&label=version) -A lightweight, fully-featured, modular, typescript-compatible javascript library for [PayMongo.](https://www.paymongo.com/) +An end-to-end typesafe library for [PayMongo.](https://www.paymongo.com/) ## Installation @@ -19,49 +17,39 @@ npm install paymongo.js # or yarn add paymongo.js ## Usage ```js -import PaymongoClient from "paymongo.js"; -export const client = PaymongoClient("sk_key"); +import { createPaymongoClient } from "paymongo.js"; +const client = createPaymongoClient("sk_key"); ``` -### (**_BETA_**) Links - -To use this feature, install with +### Payment Intent -```bash -npm install paymongo.js@next # or yarn add paymongo.js@next -``` +See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payment-intent-object) reference. -- **Create a Link** +- [**Create a Intent**](https://developers.paymongo.com/reference/create-a-paymentintent) ```js - const link = await client.link.create({ + const res = await client.paymentIntent.create({ amount: 10000, - description: "Test payment link", + payment_method_allowed: ["card", "gcash"], + currency: "PHP", }); ``` -- **Retrieve a Link** - - ```js - const link = await client.link.retrieve("some_link_id"); - ``` - -- **Retrieve from Reference number** - - ```js - const link = await client.link.retrieveFromRef("some_ref_id"); - ``` - -- **Archive a Link** +- [**Retrieve a PaymentIntent**](https://developers.paymongo.com/reference/retrieve-a-paymentintent) ```js - const link = await client.link.archive("some_link_id"); + const res = client.paymentIntent.retrieve({ + paymentIntentId: "some_intent_id", + }); ``` -- **Unarchive a Link** +- [**Attach to PaymentIntent**](https://developers.paymongo.com/reference/attach-to-paymentintent) ```js - const link = await client.link.unarchive("some_link_id"); + const res = await client.paymentIntent.attach({ + paymentIntentId: "some_intent_id", + paymentMethodId: "some_method_id", + }); ``` ### Payment Method @@ -88,38 +76,6 @@ See [PaymentMethod Resource](https://developers.paymongo.com/reference/the-payme const retrieveResponse = await client.method.retrieve("some_method_id"); ``` -### Payment Intent - -See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payment-intent-object) reference. - -- [**Create a Intent**](https://developers.paymongo.com/reference/create-a-paymentintent) - - ```js - const createResponse = await client.intent.create({ - amount: 10000, - metadata: { - order_id: "some_order_id", - }, - }); - ``` - -- [**Retrieve a PaymentIntent**](https://developers.paymongo.com/reference/retrieve-a-paymentintent) - - ```js - const retrieveResponse = await client.intent.retrieve({ - intentId: "some_intent_id", - }); - ``` - -- [**Attach to PaymentIntent**](https://developers.paymongo.com/reference/attach-to-paymentintent) - - ```js - const attachResponse = await client.intent.attach({ - intentId: "some_intent_id", - methodId: "some_method_id", - }); - ``` - ### Sources See [Source Resource](https://developers.paymongo.com/reference/the-sources-object) reference. diff --git a/src/api/payment-intent/create.ts b/src/api/payment-intent/create.ts index 82f261c..b8a0786 100644 --- a/src/api/payment-intent/create.ts +++ b/src/api/payment-intent/create.ts @@ -1,7 +1,9 @@ import { AxiosError } from "axios"; -import { api } from "../base"; import { ZodError, z } from "zod"; +import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; +import { api } from "../base"; + export const paymentIntentCreateInputSchema = z.object({ amount: z.number().min(0), payment_method_allowed: z.array( @@ -31,42 +33,9 @@ export type PaymentIntentCreateInput = z.infer< typeof paymentIntentCreateInputSchema >; -export const paymentIntentCreateOutputSchema = z.object({ - data: z.object({ - id: z.string(), - type: z.string(), - attributes: z.object({ - amount: z.number(), - capture_type: z.string(), - client_key: z.string(), - currency: z.string(), - description: z.string().nullable(), - livemode: z.boolean(), - statement_descriptor: z.string(), - status: z.string(), - last_payment_error: z.any().nullable(), - payment_method_allowed: z.array(z.string()), - payments: z.array(z.any()), - next_action: z.any().nullable(), - payment_method_options: z.object({ - card: z.object({ - request_three_d_secure: z.string(), - }), - }), - metadata: z.any().nullable(), - setup_future_usage: z.any().nullable(), - created_at: z.number(), - updated_at: z.number(), - }), - }), -}); - -export type PaymentIntentCreateOutput = z.infer< - typeof paymentIntentCreateOutputSchema ->; - /** - * # paymentIntent.create + * # Create a PaymentIntent + * @link https://developers.paymongo.com/reference/create-a-paymentintent * * @example * ```js @@ -85,13 +54,13 @@ export type PaymentIntentCreateOutput = z.infer< */ export const createPaymentIntent = async ( input: PaymentIntentCreateInput -): Promise => { +): Promise => { try { const parsedInput = paymentIntentCreateInputSchema.parse(input); - const res = await api.post("/payment_intents", { + const res = await api.post("/payment_intents", { data: { attributes: parsedInput }, }); - return paymentIntentCreateOutputSchema.parse(res.data); + return paymentIntentOutputSchema.parse(res.data); } catch (e) { if (e instanceof AxiosError) { throw new Error(e.response?.data); diff --git a/src/api/payment-intent/retrieve.ts b/src/api/payment-intent/retrieve.ts new file mode 100644 index 0000000..83e808b --- /dev/null +++ b/src/api/payment-intent/retrieve.ts @@ -0,0 +1,50 @@ +import { AxiosError } from "axios"; +import { ZodError, z } from "zod"; + +import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; +import { api } from "../base"; + +export const paymentIntentRetrieveInputSchema = z.object({ + paymentIntentId: z.string(), +}); + +export type PaymentIntentRetrieveInput = z.infer< + typeof paymentIntentRetrieveInputSchema +>; + +/** + * # Retrieve a PaymentIntent + * @link https://developers.paymongo.com/reference/retrieve-a-paymentintent + * + * @example + * ```js + * import PaymongoClient from "paymongo.js"; + * + * const main = async () => { + * const client = createPaymongoClient("secret-key"); + * const data = await client.paymentIntent.retrieve({ + * paymentIntentId: "pi_uP9jFcxB916dPGrhFURfbfVX", + * }); + * return data; + * } + * ``` + */ +export const retrievePaymentIntent = async ( + input: PaymentIntentRetrieveInput +): Promise => { + try { + const parsedInput = paymentIntentRetrieveInputSchema.parse(input); + const intentId = encodeURIComponent(parsedInput.paymentIntentId); + const res = await api.get( + `/payment_intents/${intentId}` + ); + return paymentIntentOutputSchema.parse(res.data); + } catch (e) { + if (e instanceof AxiosError) { + throw new Error(e.response?.data); + } else if (e instanceof ZodError) { + throw new Error(e.message); + } + throw e; + } +}; diff --git a/src/api/payment-intent/types.ts b/src/api/payment-intent/types.ts new file mode 100644 index 0000000..0760ef2 --- /dev/null +++ b/src/api/payment-intent/types.ts @@ -0,0 +1,33 @@ +import { z } from "zod"; + +export const paymentIntentOutputSchema = z.object({ + data: z.object({ + id: z.string(), + type: z.string(), + attributes: z.object({ + amount: z.number(), + capture_type: z.string(), + client_key: z.string(), + currency: z.string(), + description: z.string().nullable(), + livemode: z.boolean(), + statement_descriptor: z.string(), + status: z.string(), + last_payment_error: z.any().nullable(), + payment_method_allowed: z.array(z.string()), + payments: z.array(z.any()), + next_action: z.any().nullable(), + payment_method_options: z.object({ + card: z.object({ + request_three_d_secure: z.string(), + }), + }), + metadata: z.any().nullable(), + setup_future_usage: z.any().nullable(), + created_at: z.number(), + updated_at: z.number(), + }), + }), +}); + +export type PaymentIntentOutput = z.infer; diff --git a/src/client.ts b/src/client.ts new file mode 100644 index 0000000..a50d16b --- /dev/null +++ b/src/client.ts @@ -0,0 +1,21 @@ +import { api } from "./api/base"; +import { createPaymentIntent } from "./api/payment-intent/create"; +import { retrievePaymentIntent } from "./api/payment-intent/retrieve"; + +export const createPaymongoClient = (key: string) => { + api.defaults.auth = { + username: key, + password: "", + }; + + return { + /** + * # PaymentIntent Resource + * @link https://developers.paymongo.com/reference/the-payment-intent-object + */ + paymentIntent: { + create: createPaymentIntent, + retrieve: retrievePaymentIntent, + }, + }; +}; diff --git a/src/index.ts b/src/index.ts index 581b931..e4a366c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,19 +1,11 @@ -import { api } from "./api/base"; -import { createPaymentIntent } from "./api/payment-intent/create"; +export { createPaymongoClient } from "./client"; + export type { PaymentIntentCreateInput, PaymentIntentCreateOutput, } from "./api/payment-intent/create"; -export const createPaymongoClient = (key: string) => { - api.defaults.auth = { - username: key, - password: "", - }; - - return { - paymentIntent: { - create: createPaymentIntent, - }, - }; -}; +export type { + PaymentIntentRetrieveInput, + PaymentIntentRetrieveOutput, +} from "./api/payment-intent/retrieve"; diff --git a/test/payment-intent.test.ts b/test/payment-intent.test.ts index 52a551c..a3ace00 100644 --- a/test/payment-intent.test.ts +++ b/test/payment-intent.test.ts @@ -1,27 +1,47 @@ import "dotenv/config"; import { createPaymongoClient } from "../src"; -import { test, expect } from "vitest"; +import { it, expect, describe } from "vitest"; const key = process.env.PM_SECRET_KEY as string; const client = createPaymongoClient(key); -test("can create payment intent", async () => { - const res = await client.paymentIntent.create({ - amount: 10000, - payment_method_allowed: ["card", "gcash"], - currency: "PHP", +describe.skip("create payment intent", () => { + it("can create payment intent", async () => { + const res = await client.paymentIntent.create({ + amount: 10000, + payment_method_allowed: ["card", "gcash"], + currency: "PHP", + }); + expect(res.data.type).toEqual("payment_intent"); + expect(res.data.attributes.amount).toEqual(10000); + }); + + it("rejects on zod error", async () => { + const res = client.paymentIntent.create({ + amount: 10000, + payment_method_allowed: ["card", "gcash"], + // @ts-expect-error - test file + currency: "USD", + }); + + await expect(res).rejects.toThrow(); }); - expect(res.data.type).toEqual("payment_intent"); - expect(res.data.attributes.amount).toEqual(10000); }); -test("rejects on zod error", async () => { - const res = client.paymentIntent.create({ - amount: 10000, - payment_method_allowed: ["card", "gcash"], - // @ts-expect-error - test file - currency: "USD", +describe.skip("retrieve payment intent", () => { + it("can retrieve payment intent", async () => { + const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; + const res = await client.paymentIntent.retrieve({ + paymentIntentId: intentId, + }); + expect(res.data.id).toEqual(intentId); }); - await expect(res).rejects.toThrow(); + it("rejects on not found", async () => { + const intentId = "does-not-exist"; + const res = client.paymentIntent.retrieve({ + paymentIntentId: intentId, + }); + await expect(res).rejects.toThrow(); + }); }); From e80e10f1f1b2f651d5ed944eaa5657ad08b6ba79 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 00:32:38 +0800 Subject: [PATCH 13/44] chore: update changeset --- .changeset/smart-baboons-buy.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.changeset/smart-baboons-buy.md b/.changeset/smart-baboons-buy.md index fb9a3bd..801e194 100644 --- a/.changeset/smart-baboons-buy.md +++ b/.changeset/smart-baboons-buy.md @@ -10,6 +10,14 @@ ### Log -- add changeset -- fix test for payment intent -- add publish workflow +* 3f8e2e9 chore: add retrieve payment and update readme (princejoogie) +* 888689a chore: add workflow secret (princejoogie) +* 42dcdda chore: add release script (princejoogie) +* de29a22 chore: add changeset and workflows (princejoogie) +* 3467886 feat: payment-intent/create (princejoogie) +* 6702145 chore: initial structure for v2 (princejoogie) +* 2b857e2 chore: update workflow (princejoogie) +* d0fe2a3 chore: add size-limit dependency (princejoogie) +* 1670631 chore: update packages (princejoogie) +* 4c0bbcb chore: remove unused deps (princejoogie) +* 036c4d0 chore: migrate to yarn (princejoogie) From e3727486366edec8727bcc0a38edd3a78372aa78 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 00:34:10 +0800 Subject: [PATCH 14/44] fix: export type --- src/index.ts | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/index.ts b/src/index.ts index e4a366c..cd06e91 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,5 @@ export { createPaymongoClient } from "./client"; -export type { - PaymentIntentCreateInput, - PaymentIntentCreateOutput, -} from "./api/payment-intent/create"; - -export type { - PaymentIntentRetrieveInput, - PaymentIntentRetrieveOutput, -} from "./api/payment-intent/retrieve"; +export type { PaymentIntentOutput } from "./api/payment-intent/types"; +export type { PaymentIntentCreateInput } from "./api/payment-intent/create"; +export type { PaymentIntentRetrieveInput } from "./api/payment-intent/retrieve"; From 767f49a51c04db34ce0b6641a0eff6fb22aa044c Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 01:10:50 +0800 Subject: [PATCH 15/44] chore: access public on changeset --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 6d2119a..cee6df8 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -4,7 +4,7 @@ "commit": false, "fixed": [], "linked": [], - "access": "restricted", + "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", "ignore": [] From 9885a5cc1741aa5ace070665d3def537ad5fcf96 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 01:14:40 +0800 Subject: [PATCH 16/44] chore: rename paymentIntent to intent --- .changeset/smart-baboons-buy.md | 27 ++++++++++--------- src/api/{payment-intent => intent}/create.ts | 0 .../{payment-intent => intent}/retrieve.ts | 0 src/api/{payment-intent => intent}/types.ts | 0 src/client.ts | 6 ++--- src/index.ts | 6 ++--- ...{payment-intent.test.ts => intent.test.ts} | 8 +++--- 7 files changed, 24 insertions(+), 23 deletions(-) rename src/api/{payment-intent => intent}/create.ts (100%) rename src/api/{payment-intent => intent}/retrieve.ts (100%) rename src/api/{payment-intent => intent}/types.ts (100%) rename test/{payment-intent.test.ts => intent.test.ts} (85%) diff --git a/.changeset/smart-baboons-buy.md b/.changeset/smart-baboons-buy.md index 801e194..cdd3075 100644 --- a/.changeset/smart-baboons-buy.md +++ b/.changeset/smart-baboons-buy.md @@ -2,22 +2,23 @@ "paymongo.js": major --- -# v2 api +# v2.0.0 ### Breaking Changes -- The structure of the api for v2 has renamed most of the functions. We recommend reading the usage guide for v2. +- The structure of the api for v2 has renamed some of the functions. We recommend reading the usage guide for v2. ### Log -* 3f8e2e9 chore: add retrieve payment and update readme (princejoogie) -* 888689a chore: add workflow secret (princejoogie) -* 42dcdda chore: add release script (princejoogie) -* de29a22 chore: add changeset and workflows (princejoogie) -* 3467886 feat: payment-intent/create (princejoogie) -* 6702145 chore: initial structure for v2 (princejoogie) -* 2b857e2 chore: update workflow (princejoogie) -* d0fe2a3 chore: add size-limit dependency (princejoogie) -* 1670631 chore: update packages (princejoogie) -* 4c0bbcb chore: remove unused deps (princejoogie) -* 036c4d0 chore: migrate to yarn (princejoogie) +* 767f49a chore: access public on changeset (@princejoogie) +* e372748 fix: export type (@princejoogie) +* e80e10f chore: update changeset (@princejoogie) +* 3f8e2e9 chore: add retrieve payment and update readme (@princejoogie) +* 888689a chore: add workflow secret (@princejoogie) +* 42dcdda chore: add release script (@princejoogie) +* de29a22 chore: add changeset and workflows (@princejoogie) +* 3467886 feat: payment-intent/create (@princejoogie) +* 6702145 chore: initial structure for v2 (@princejoogie) +* 2b857e2 chore: update workflow (@princejoogie) +* d0fe2a3 chore: add size-limit dependency (@princejoogie) +* 1670631 chore: update packages (@princejoogie) diff --git a/src/api/payment-intent/create.ts b/src/api/intent/create.ts similarity index 100% rename from src/api/payment-intent/create.ts rename to src/api/intent/create.ts diff --git a/src/api/payment-intent/retrieve.ts b/src/api/intent/retrieve.ts similarity index 100% rename from src/api/payment-intent/retrieve.ts rename to src/api/intent/retrieve.ts diff --git a/src/api/payment-intent/types.ts b/src/api/intent/types.ts similarity index 100% rename from src/api/payment-intent/types.ts rename to src/api/intent/types.ts diff --git a/src/client.ts b/src/client.ts index a50d16b..bd2e45a 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,6 +1,6 @@ import { api } from "./api/base"; -import { createPaymentIntent } from "./api/payment-intent/create"; -import { retrievePaymentIntent } from "./api/payment-intent/retrieve"; +import { createPaymentIntent } from "./api/intent/create"; +import { retrievePaymentIntent } from "./api/intent/retrieve"; export const createPaymongoClient = (key: string) => { api.defaults.auth = { @@ -13,7 +13,7 @@ export const createPaymongoClient = (key: string) => { * # PaymentIntent Resource * @link https://developers.paymongo.com/reference/the-payment-intent-object */ - paymentIntent: { + intent: { create: createPaymentIntent, retrieve: retrievePaymentIntent, }, diff --git a/src/index.ts b/src/index.ts index cd06e91..f138df3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ export { createPaymongoClient } from "./client"; -export type { PaymentIntentOutput } from "./api/payment-intent/types"; -export type { PaymentIntentCreateInput } from "./api/payment-intent/create"; -export type { PaymentIntentRetrieveInput } from "./api/payment-intent/retrieve"; +export type { PaymentIntentOutput } from "./api/intent/types"; +export type { PaymentIntentCreateInput } from "./api/intent/create"; +export type { PaymentIntentRetrieveInput } from "./api/intent/retrieve"; diff --git a/test/payment-intent.test.ts b/test/intent.test.ts similarity index 85% rename from test/payment-intent.test.ts rename to test/intent.test.ts index a3ace00..45a537b 100644 --- a/test/payment-intent.test.ts +++ b/test/intent.test.ts @@ -7,7 +7,7 @@ const client = createPaymongoClient(key); describe.skip("create payment intent", () => { it("can create payment intent", async () => { - const res = await client.paymentIntent.create({ + const res = await client.intent.create({ amount: 10000, payment_method_allowed: ["card", "gcash"], currency: "PHP", @@ -17,7 +17,7 @@ describe.skip("create payment intent", () => { }); it("rejects on zod error", async () => { - const res = client.paymentIntent.create({ + const res = client.intent.create({ amount: 10000, payment_method_allowed: ["card", "gcash"], // @ts-expect-error - test file @@ -31,7 +31,7 @@ describe.skip("create payment intent", () => { describe.skip("retrieve payment intent", () => { it("can retrieve payment intent", async () => { const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; - const res = await client.paymentIntent.retrieve({ + const res = await client.intent.retrieve({ paymentIntentId: intentId, }); expect(res.data.id).toEqual(intentId); @@ -39,7 +39,7 @@ describe.skip("retrieve payment intent", () => { it("rejects on not found", async () => { const intentId = "does-not-exist"; - const res = client.paymentIntent.retrieve({ + const res = client.intent.retrieve({ paymentIntentId: intentId, }); await expect(res).rejects.toThrow(); From 43926c5f35e427edcd0662b891573738bc15390e Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 01:15:40 +0800 Subject: [PATCH 17/44] chore: update docs --- README.md | 6 +++--- src/api/intent/create.ts | 2 +- src/api/intent/retrieve.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9faec71..30af56b 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payme - [**Create a Intent**](https://developers.paymongo.com/reference/create-a-paymentintent) ```js - const res = await client.paymentIntent.create({ + const res = await client.intent.create({ amount: 10000, payment_method_allowed: ["card", "gcash"], currency: "PHP", @@ -38,7 +38,7 @@ See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payme - [**Retrieve a PaymentIntent**](https://developers.paymongo.com/reference/retrieve-a-paymentintent) ```js - const res = client.paymentIntent.retrieve({ + const res = client.intent.retrieve({ paymentIntentId: "some_intent_id", }); ``` @@ -46,7 +46,7 @@ See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payme - [**Attach to PaymentIntent**](https://developers.paymongo.com/reference/attach-to-paymentintent) ```js - const res = await client.paymentIntent.attach({ + const res = await client.intent.attach({ paymentIntentId: "some_intent_id", paymentMethodId: "some_method_id", }); diff --git a/src/api/intent/create.ts b/src/api/intent/create.ts index b8a0786..23005eb 100644 --- a/src/api/intent/create.ts +++ b/src/api/intent/create.ts @@ -43,7 +43,7 @@ export type PaymentIntentCreateInput = z.infer< * * const main = async () => { * const client = createPaymongoClient("secret-key"); - * const data = await client.paymentIntent.create({ + * const data = await client.intent.create({ * amount: 10000, * payment_method_allowed: ["card", "gcash"], * currency: "PHP", diff --git a/src/api/intent/retrieve.ts b/src/api/intent/retrieve.ts index 83e808b..62f0935 100644 --- a/src/api/intent/retrieve.ts +++ b/src/api/intent/retrieve.ts @@ -22,7 +22,7 @@ export type PaymentIntentRetrieveInput = z.infer< * * const main = async () => { * const client = createPaymongoClient("secret-key"); - * const data = await client.paymentIntent.retrieve({ + * const data = await client.intent.retrieve({ * paymentIntentId: "pi_uP9jFcxB916dPGrhFURfbfVX", * }); * return data; From b9d273b7f7c1f1b354ad6bb47ca4858c7bc4c475 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 01:20:26 +0800 Subject: [PATCH 18/44] chore: update readme --- README.md | 76 ------------------------------------------------------- 1 file changed, 76 deletions(-) diff --git a/README.md b/README.md index 30af56b..705d353 100644 --- a/README.md +++ b/README.md @@ -190,80 +190,4 @@ Like the project? would appreciate a coffee ☕ --- -## Running your own instance - -Clone the repository: - -```bash -git clone https://github.com/princejoogie/paymongo.js.git -cd paymongo.js -``` - -```bash -npm start # or yarn start -``` - -This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`. - -To do a one-off build, use `npm run build` or `yarn build`. - -To run tests, use `npm test` or `yarn test`. - -## Configuration - -Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly. - -### Jest - -Jest tests are set up to run with `npm test` or `yarn test`. - -### Bundle Analysis - -[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`. - -### Rollup - -This library uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details. - -### TypeScript - -`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs. - -## Continuous Integration - -### GitHub Actions - -Two actions are added by default: - -- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix -- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit) - -## Optimizations - -Please see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations: - -```js -// ./types/index.d.ts -declare var __DEV__: boolean; - -// inside your code... -if (__DEV__) { - console.log("foo"); -} -``` - -You can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions. - -## Module Formats - -CJS, ESModules, and UMD module formats are supported. - -The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found. - -## Publishing to NPM - -We recommend using [np](https://github.com/sindresorhus/np). - ---- - Made by [**Prince Carlo Juguilon**](https://princecaarlo.tech/) together with these awesome [**Contributors**](https://github.com/princejoogie/paymongo.js/graphs/contributors). From 2f7eaa851b07ed76852b6b9f4e479db3c13dfc05 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 08:42:25 +0800 Subject: [PATCH 19/44] feat: add withError hoc --- src/api/intent/create.ts | 19 +++++-------------- src/api/intent/retrieve.ts | 25 ++++++++----------------- src/hoc/with-error.ts | 19 +++++++++++++++++++ test/intent.test.ts | 4 ++-- 4 files changed, 34 insertions(+), 33 deletions(-) create mode 100644 src/hoc/with-error.ts diff --git a/src/api/intent/create.ts b/src/api/intent/create.ts index 23005eb..fd70211 100644 --- a/src/api/intent/create.ts +++ b/src/api/intent/create.ts @@ -1,8 +1,8 @@ -import { AxiosError } from "axios"; -import { ZodError, z } from "zod"; +import { z } from "zod"; import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; import { api } from "../base"; +import { withError } from "../../hoc/with-error"; export const paymentIntentCreateInputSchema = z.object({ amount: z.number().min(0), @@ -52,21 +52,12 @@ export type PaymentIntentCreateInput = z.infer< * } * ``` */ -export const createPaymentIntent = async ( - input: PaymentIntentCreateInput -): Promise => { - try { +export const createPaymentIntent = withError( + async (input: PaymentIntentCreateInput): Promise => { const parsedInput = paymentIntentCreateInputSchema.parse(input); const res = await api.post("/payment_intents", { data: { attributes: parsedInput }, }); return paymentIntentOutputSchema.parse(res.data); - } catch (e) { - if (e instanceof AxiosError) { - throw new Error(e.response?.data); - } else if (e instanceof ZodError) { - throw new Error(e.message); - } - throw e; } -}; +); diff --git a/src/api/intent/retrieve.ts b/src/api/intent/retrieve.ts index 62f0935..91a34c4 100644 --- a/src/api/intent/retrieve.ts +++ b/src/api/intent/retrieve.ts @@ -1,11 +1,11 @@ -import { AxiosError } from "axios"; -import { ZodError, z } from "zod"; +import { z } from "zod"; import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; import { api } from "../base"; +import { withError } from "../../hoc/with-error"; export const paymentIntentRetrieveInputSchema = z.object({ - paymentIntentId: z.string(), + intentId: z.string(), }); export type PaymentIntentRetrieveInput = z.infer< @@ -23,28 +23,19 @@ export type PaymentIntentRetrieveInput = z.infer< * const main = async () => { * const client = createPaymongoClient("secret-key"); * const data = await client.intent.retrieve({ - * paymentIntentId: "pi_uP9jFcxB916dPGrhFURfbfVX", + * intentId: "pi_uP9jFcxB916dPGrhFURfbfVX", * }); * return data; * } * ``` */ -export const retrievePaymentIntent = async ( - input: PaymentIntentRetrieveInput -): Promise => { - try { +export const retrievePaymentIntent = withError( + async (input: PaymentIntentRetrieveInput): Promise => { const parsedInput = paymentIntentRetrieveInputSchema.parse(input); - const intentId = encodeURIComponent(parsedInput.paymentIntentId); + const intentId = encodeURIComponent(parsedInput.intentId); const res = await api.get( `/payment_intents/${intentId}` ); return paymentIntentOutputSchema.parse(res.data); - } catch (e) { - if (e instanceof AxiosError) { - throw new Error(e.response?.data); - } else if (e instanceof ZodError) { - throw new Error(e.message); - } - throw e; } -}; +); diff --git a/src/hoc/with-error.ts b/src/hoc/with-error.ts new file mode 100644 index 0000000..84e5180 --- /dev/null +++ b/src/hoc/with-error.ts @@ -0,0 +1,19 @@ +import { AxiosError } from "axios"; +import { ZodError } from "zod"; + +export const withError = any>( + fn: T +): ((...funcArgs: Parameters) => ReturnType) => { + return (...args: Parameters) => { + try { + return fn(...args); + } catch (e) { + if (e instanceof AxiosError) { + throw new Error(e.response?.data); + } else if (e instanceof ZodError) { + throw new Error(e.message); + } + throw e; + } + }; +}; diff --git a/test/intent.test.ts b/test/intent.test.ts index 45a537b..a5f96b6 100644 --- a/test/intent.test.ts +++ b/test/intent.test.ts @@ -32,7 +32,7 @@ describe.skip("retrieve payment intent", () => { it("can retrieve payment intent", async () => { const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; const res = await client.intent.retrieve({ - paymentIntentId: intentId, + intentId: intentId, }); expect(res.data.id).toEqual(intentId); }); @@ -40,7 +40,7 @@ describe.skip("retrieve payment intent", () => { it("rejects on not found", async () => { const intentId = "does-not-exist"; const res = client.intent.retrieve({ - paymentIntentId: intentId, + intentId: intentId, }); await expect(res).rejects.toThrow(); }); From ef93fb163be0fc2915df5a4baaa16fff259e97ac Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 10:07:09 +0800 Subject: [PATCH 20/44] feat: create payment method --- src/api/intent/create.ts | 17 +++++---- src/api/intent/retrieve.ts | 12 ++++--- src/api/intent/types.ts | 40 +++++++++++++++------ src/api/method/create.ts | 74 ++++++++++++++++++++++++++++++++++++++ src/api/method/types.ts | 45 +++++++++++++++++++++++ src/api/types.ts | 11 ++++++ src/client.ts | 8 +++++ src/hoc/with-error.ts | 19 ---------- src/utils/handle-error.ts | 11 ++++++ test/intent.test.ts | 6 ++-- test/method.test.ts | 64 +++++++++++++++++++++++++++++++++ test/utils.ts | 20 +++++++++++ 12 files changed, 283 insertions(+), 44 deletions(-) create mode 100644 src/api/method/create.ts create mode 100644 src/api/method/types.ts create mode 100644 src/api/types.ts delete mode 100644 src/hoc/with-error.ts create mode 100644 src/utils/handle-error.ts create mode 100644 test/method.test.ts create mode 100644 test/utils.ts diff --git a/src/api/intent/create.ts b/src/api/intent/create.ts index fd70211..1bd1f85 100644 --- a/src/api/intent/create.ts +++ b/src/api/intent/create.ts @@ -2,13 +2,12 @@ import { z } from "zod"; import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; import { api } from "../base"; -import { withError } from "../../hoc/with-error"; +import { methodTypeSchema } from "../types"; +import { handleError } from "../../utils/handle-error"; export const paymentIntentCreateInputSchema = z.object({ amount: z.number().min(0), - payment_method_allowed: z.array( - z.enum(["atome", "card", "dob", "paymaya", "billease", "gcash", "grab_pay"]) - ), + payment_method_allowed: z.array(methodTypeSchema), payment_method_options: z .object({ card: z.object({ @@ -52,12 +51,16 @@ export type PaymentIntentCreateInput = z.infer< * } * ``` */ -export const createPaymentIntent = withError( - async (input: PaymentIntentCreateInput): Promise => { +export const createPaymentIntent = async ( + input: PaymentIntentCreateInput +): Promise => { + try { const parsedInput = paymentIntentCreateInputSchema.parse(input); const res = await api.post("/payment_intents", { data: { attributes: parsedInput }, }); return paymentIntentOutputSchema.parse(res.data); + } catch (e) { + return handleError(e); } -); +}; diff --git a/src/api/intent/retrieve.ts b/src/api/intent/retrieve.ts index 91a34c4..33c019a 100644 --- a/src/api/intent/retrieve.ts +++ b/src/api/intent/retrieve.ts @@ -2,7 +2,7 @@ import { z } from "zod"; import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; import { api } from "../base"; -import { withError } from "../../hoc/with-error"; +import { handleError } from "../../utils/handle-error"; export const paymentIntentRetrieveInputSchema = z.object({ intentId: z.string(), @@ -29,13 +29,17 @@ export type PaymentIntentRetrieveInput = z.infer< * } * ``` */ -export const retrievePaymentIntent = withError( - async (input: PaymentIntentRetrieveInput): Promise => { +export const retrievePaymentIntent = async ( + input: PaymentIntentRetrieveInput +): Promise => { + try { const parsedInput = paymentIntentRetrieveInputSchema.parse(input); const intentId = encodeURIComponent(parsedInput.intentId); const res = await api.get( `/payment_intents/${intentId}` ); return paymentIntentOutputSchema.parse(res.data); + } catch (e) { + return handleError(e); } -); +}; diff --git a/src/api/intent/types.ts b/src/api/intent/types.ts index 0760ef2..3e84ca1 100644 --- a/src/api/intent/types.ts +++ b/src/api/intent/types.ts @@ -3,27 +3,45 @@ import { z } from "zod"; export const paymentIntentOutputSchema = z.object({ data: z.object({ id: z.string(), - type: z.string(), + type: z.enum(["payment_intent"]), attributes: z.object({ - amount: z.number(), - capture_type: z.string(), - client_key: z.string(), - currency: z.string(), + amount: z.number().min(10000), + currency: z.enum(["PHP"]), description: z.string().nullable(), - livemode: z.boolean(), statement_descriptor: z.string(), - status: z.string(), - last_payment_error: z.any().nullable(), + status: z.enum([ + "awaiting_payment_method", + "awaiting_next_action", + "processing", + "succeeded", + ]), + livemode: z.boolean(), + client_key: z.string(), + capture_type: z.enum(["manual", "automatic"]), + last_payment_error: z.object({}).nullable(), payment_method_allowed: z.array(z.string()), payments: z.array(z.any()), - next_action: z.any().nullable(), + next_action: z + .object({ + type: z.string(), + redirect: z.object({ + url: z.string(), + return_url: z.string(), + }), + }) + .nullable(), payment_method_options: z.object({ card: z.object({ - request_three_d_secure: z.string(), + request_three_d_secure: z.enum(["any", "automatic"]), }), }), + setup_future_usage: z + .object({ + session_type: z.enum(["on_session"]), + customer_id: z.string(), + }) + .nullable(), metadata: z.any().nullable(), - setup_future_usage: z.any().nullable(), created_at: z.number(), updated_at: z.number(), }), diff --git a/src/api/method/create.ts b/src/api/method/create.ts new file mode 100644 index 0000000..f730f60 --- /dev/null +++ b/src/api/method/create.ts @@ -0,0 +1,74 @@ +import { z } from "zod"; + +import { + PaymentMethodOutput, + paymentMethodOutputSchema, + billingSchema, +} from "./types"; +import { api } from "../base"; +import { methodTypeSchema } from "../types"; +import { handleError } from "../../utils/handle-error"; + +export const paymentMethodCreateInputSchema = z.object({ + type: methodTypeSchema, + details: z + .object({ + card_number: z.string(), + exp_month: z.number(), + exp_year: z.number(), + cvc: z.string(), + bank_code: z.string(z.enum(["bpi", "ubp"])).optional(), + }) + .optional(), + billing: billingSchema.optional(), + payment_method_options: z + .object({ + card: z.object({ + installments: z.object({ + plan: z.object({ + issuer_id: z.string(), + tenure: z.string(), + }), + }), + }), + }) + .optional(), + metadata: z.any().optional(), +}); + +export type PaymentMethodCreateInput = z.infer< + typeof paymentMethodCreateInputSchema +>; + +/** + * # Create a PaymentMethod + * @link https://developers.paymongo.com/reference/create-a-paymentmethod + * + * @example + * ```js + * import PaymongoClient from "paymongo.js"; + * + * const main = async () => { + * const client = createPaymongoClient("secret-key"); + * const data = await client.method.create({ + * amount: 10000, + * payment_method_allowed: ["card", "gcash"], + * currency: "PHP", + * }); + * return data; + * } + * ``` + */ +export const createPaymentMethod = async ( + input: PaymentMethodCreateInput +): Promise => { + try { + const parsedInput = paymentMethodCreateInputSchema.parse(input); + const res = await api.post("/payment_methods", { + data: { attributes: parsedInput }, + }); + return paymentMethodOutputSchema.parse(res.data); + } catch (e) { + return handleError(e); + } +}; diff --git a/src/api/method/types.ts b/src/api/method/types.ts new file mode 100644 index 0000000..9e55717 --- /dev/null +++ b/src/api/method/types.ts @@ -0,0 +1,45 @@ +import { z } from "zod"; +import { methodTypeSchema } from "../types"; + +export const billingSchema = z.object({ + address: z.object({ + city: z.string(), + country: z.string(), + line1: z.string(), + line2: z.string(), + postal_code: z.string(), + state: z.string(), + }), + email: z.string(), + name: z.string(), + phone: z.string(), +}); + +export const paymentMethodOutputSchema = z.object({ + data: z.object({ + id: z.string(), + type: z.enum(["payment_method"]), + attributes: z.object({ + billing: billingSchema.nullable(), + details: z + .union([ + z.object({ + last4: z.string(), + exp_month: z.number(), + exp_year: z.number(), + }), + z.object({ + provider: z.string().optional(), + }), + ]) + .nullable(), + livemode: z.boolean(), + type: methodTypeSchema, + metadata: z.any().nullable(), + created_at: z.number(), + updated_at: z.number(), + }), + }), +}); + +export type PaymentMethodOutput = z.infer; diff --git a/src/api/types.ts b/src/api/types.ts new file mode 100644 index 0000000..c8f9117 --- /dev/null +++ b/src/api/types.ts @@ -0,0 +1,11 @@ +import { z } from "zod"; + +export const methodTypeSchema = z.enum([ + "atome", + "card", + "dob", + "paymaya", + "billease", + "gcash", + "grab_pay", +]); diff --git a/src/client.ts b/src/client.ts index bd2e45a..1b22ffc 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,6 +1,7 @@ import { api } from "./api/base"; import { createPaymentIntent } from "./api/intent/create"; import { retrievePaymentIntent } from "./api/intent/retrieve"; +import { createPaymentMethod } from "./api/method/create"; export const createPaymongoClient = (key: string) => { api.defaults.auth = { @@ -17,5 +18,12 @@ export const createPaymongoClient = (key: string) => { create: createPaymentIntent, retrieve: retrievePaymentIntent, }, + /** + * # PaymentMethod Resource + * @link https://developers.paymongo.com/reference/the-payment-method-object + */ + method: { + create: createPaymentMethod, + }, }; }; diff --git a/src/hoc/with-error.ts b/src/hoc/with-error.ts deleted file mode 100644 index 84e5180..0000000 --- a/src/hoc/with-error.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { AxiosError } from "axios"; -import { ZodError } from "zod"; - -export const withError = any>( - fn: T -): ((...funcArgs: Parameters) => ReturnType) => { - return (...args: Parameters) => { - try { - return fn(...args); - } catch (e) { - if (e instanceof AxiosError) { - throw new Error(e.response?.data); - } else if (e instanceof ZodError) { - throw new Error(e.message); - } - throw e; - } - }; -}; diff --git a/src/utils/handle-error.ts b/src/utils/handle-error.ts new file mode 100644 index 0000000..865818d --- /dev/null +++ b/src/utils/handle-error.ts @@ -0,0 +1,11 @@ +import { AxiosError } from "axios"; +import { ZodError } from "zod"; + +export const handleError = (e: unknown) => { + if (e instanceof AxiosError) { + throw new Error(e.response?.data); + } else if (e instanceof ZodError) { + throw new Error(e.message); + } + throw e; +}; diff --git a/test/intent.test.ts b/test/intent.test.ts index a5f96b6..06eea8e 100644 --- a/test/intent.test.ts +++ b/test/intent.test.ts @@ -1,11 +1,11 @@ import "dotenv/config"; -import { createPaymongoClient } from "../src"; import { it, expect, describe } from "vitest"; +import { createPaymongoClient } from "../src"; const key = process.env.PM_SECRET_KEY as string; const client = createPaymongoClient(key); -describe.skip("create payment intent", () => { +describe("create payment intent", () => { it("can create payment intent", async () => { const res = await client.intent.create({ amount: 10000, @@ -28,7 +28,7 @@ describe.skip("create payment intent", () => { }); }); -describe.skip("retrieve payment intent", () => { +describe("retrieve payment intent", () => { it("can retrieve payment intent", async () => { const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; const res = await client.intent.retrieve({ diff --git a/test/method.test.ts b/test/method.test.ts new file mode 100644 index 0000000..c48dd9f --- /dev/null +++ b/test/method.test.ts @@ -0,0 +1,64 @@ +import "dotenv/config"; +import { it, expect, describe } from "vitest"; +import { createPaymongoClient } from "../src"; +import { testCards } from "./utils"; + +const key = process.env.PM_SECRET_KEY as string; +const client = createPaymongoClient(key); + +describe("create payment method", () => { + it("can create gcash payment method", async () => { + const res = await client.method.create({ + type: "gcash", + }); + expect(res.data.type).toEqual("payment_method"); + expect(res.data.attributes.type).toEqual("gcash"); + }); + + it("can create card payment", async () => { + const res = await client.method.create({ + type: "card", + details: testCards.visa, + }); + expect(res.data.type).toEqual("payment_method"); + expect(res.data.attributes.type).toEqual("card"); + }); + + it("can create dob payment", async () => { + const res = await client.method.create({ + type: "dob", + details: { ...testCards.visa, bank_code: "bpi" }, + }); + expect(res.data.type).toEqual("payment_method"); + // @ts-expect-error - test file + expect(res.data.attributes.details.provider).toEqual("bpi"); + expect(res.data.attributes.type).toEqual("dob"); + }); + + it("rejects on zod error", async () => { + const res = client.method.create({ + // @ts-expect-error - test file + type: "invalid", + }); + + await expect(res).rejects.toThrow(); + }); +}); + +/* describe.skip("retrieve payment method", () => { */ +/* it("can retrieve payment intent", async () => { */ +/* const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; */ +/* const res = await client.intent.retrieve({ */ +/* intentId: intentId, */ +/* }); */ +/* expect(res.data.id).toEqual(intentId); */ +/* }); */ +/**/ +/* it("rejects on not found", async () => { */ +/* const intentId = "does-not-exist"; */ +/* const res = client.intent.retrieve({ */ +/* intentId: intentId, */ +/* }); */ +/* await expect(res).rejects.toThrow(); */ +/* }); */ +/* }); */ diff --git a/test/utils.ts b/test/utils.ts new file mode 100644 index 0000000..89b67e0 --- /dev/null +++ b/test/utils.ts @@ -0,0 +1,20 @@ +const now = new Date(); + +const exp_month = now.getMonth(); +const exp_year = now.getFullYear() + 2; +const rest = { exp_month, exp_year, cvc: "123" }; + +export const testCards = { + visa: { + card_number: "4343434343434345", + ...rest, + }, + expired: { + card_number: "4200000000000018", + ...rest, + }, + cvc_invalid: { + card_number: "4300000000000017", + ...rest, + }, +}; From 898509a308bd2fcf54b4856f2a181662d84a69e5 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 10:20:34 +0800 Subject: [PATCH 21/44] chore: add billing test in method --- README.md | 36 ++++++++++++++++++++++-------- src/api/method/create.ts | 47 +++++++++++++++++++++++++++++++--------- test/method.test.ts | 23 ++++++++++++++++++++ 3 files changed, 87 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 705d353..c20fb16 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payme ```js const res = client.intent.retrieve({ - paymentIntentId: "some_intent_id", + intentId: "some_intent_id", }); ``` @@ -47,8 +47,8 @@ See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payme ```js const res = await client.intent.attach({ - paymentIntentId: "some_intent_id", - paymentMethodId: "some_method_id", + intentId: "some_intent_id", + intentId: "some_method_id", }); ``` @@ -59,14 +59,32 @@ See [PaymentMethod Resource](https://developers.paymongo.com/reference/the-payme - [**Create a Method**](https://developers.paymongo.com/reference/create-a-paymentmethod) ```js - const createResponse = await client.method.create({ + const res = await client.method.create({ + type: "gcash", + billing: { + name: "John Doe", + email: "john@email.com", + phone: "+639999999999", + address: { + city: "Manila", + line1: "line 1", + line2: "line 2", + state: "Metro Manila", + country: "PH", + postal_code: "1000", + }, + }, + }); + ``` + + ```js + const res = await client.method.create({ + type: "card", details: { - cardNumber: "4343434343434345", - expMonth: 3, - expYear: 2023, - cvc: "321", + card_number: "4242424242424242", + exp_month: 12, + exp_year: 2025, }, - type: "card", // card | paymaya }); ``` diff --git a/src/api/method/create.ts b/src/api/method/create.ts index f730f60..9ced9ca 100644 --- a/src/api/method/create.ts +++ b/src/api/method/create.ts @@ -44,19 +44,46 @@ export type PaymentMethodCreateInput = z.infer< * # Create a PaymentMethod * @link https://developers.paymongo.com/reference/create-a-paymentmethod * - * @example + * @example-gcash + * * ```js - * import PaymongoClient from "paymongo.js"; + * const method = await client.method.create({ + * type: "gcash", + * }); + * ``` * - * const main = async () => { - * const client = createPaymongoClient("secret-key"); - * const data = await client.method.create({ - * amount: 10000, - * payment_method_allowed: ["card", "gcash"], - * currency: "PHP", + * @example-card + * + * ```js + * const res = await client.method.create({ + * type: "card", + * details: { + * card_number: "4242424242424242", + * exp_month: 12, + * exp_year: 2025, + * } * }); - * return data; - * } + * ``` + * + * @example-with-billing + * + * ```js + * const res = await client.method.create({ + * type: "gcash", + * billing: { + * name: "John Doe", + * email: "john@email.com", + * phone: "+639999999999", + * address: { + * city: "Manila", + * line1: "line 1", + * line2: "line 2", + * state: "Metro Manila", + * country: "PH", + * postal_code: "1000", + * }, + * } + * }); * ``` */ export const createPaymentMethod = async ( diff --git a/test/method.test.ts b/test/method.test.ts index c48dd9f..e4c461c 100644 --- a/test/method.test.ts +++ b/test/method.test.ts @@ -35,6 +35,29 @@ describe("create payment method", () => { expect(res.data.attributes.type).toEqual("dob"); }); + it("can retrieve billing", async () => { + const billing = { + name: "John Doe", + email: "john@email.com", + phone: "+639999999999", + address: { + city: "Manila", + line1: "line 1", + line2: "line 2", + state: "Metro Manila", + country: "PH", + postal_code: "1000", + }, + }; + const res = await client.method.create({ + type: "gcash", + billing, + }); + expect(res.data.type).toEqual("payment_method"); + expect(res.data.attributes.type).toEqual("gcash"); + expect(res.data.attributes.billing).toEqual(billing); + }); + it("rejects on zod error", async () => { const res = client.method.create({ // @ts-expect-error - test file From ed1a9af1f12906d0d631ae01066b3dabaac62935 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 10:21:24 +0800 Subject: [PATCH 22/44] chore: remove old api --- src/old/config.ts | 5 - src/old/index.ts | 121 --------------- src/old/payment/create-payment.ts | 66 --------- src/old/payment/index.ts | 6 - src/old/payment/intent/attach-intent.ts | 51 ------- src/old/payment/intent/create-intent.ts | 74 ---------- src/old/payment/intent/index.ts | 3 - src/old/payment/intent/retrieve-intent.ts | 36 ----- src/old/payment/intent/types.ts | 139 ------------------ src/old/payment/link/archive-link.ts | 30 ---- src/old/payment/link/create-link.ts | 46 ------ src/old/payment/link/index.ts | 5 - .../payment/link/retrieve-from-ref-link.ts | 30 ---- src/old/payment/link/retrieve-link.ts | 30 ---- src/old/payment/link/types.ts | 38 ----- src/old/payment/link/unarchive-link.ts | 30 ---- src/old/payment/list-payments.ts | 27 ---- src/old/payment/method/create-method.ts | 61 -------- src/old/payment/method/index.ts | 2 - src/old/payment/method/retrieve-method.ts | 32 ---- src/old/payment/method/types.ts | 52 ------- src/old/payment/refund/create-refund.ts | 13 -- src/old/payment/refund/index.ts | 1 - src/old/payment/retrieve-payment.ts | 30 ---- src/old/payment/source/create-source.ts | 67 --------- src/old/payment/source/index.ts | 2 - src/old/payment/source/retrieve-source.ts | 30 ---- src/old/payment/source/types.ts | 36 ----- src/old/payment/types.ts | 115 --------------- src/old/payment/webhook/create-webhook.ts | 43 ------ src/old/payment/webhook/disable-webhook.ts | 32 ---- src/old/payment/webhook/enable-webhook.ts | 32 ---- src/old/payment/webhook/index.ts | 6 - src/old/payment/webhook/list-webhooks.ts | 27 ---- src/old/payment/webhook/retrieve-webhook.ts | 32 ---- src/old/payment/webhook/types.ts | 30 ---- src/old/payment/webhook/update-webhook.ts | 48 ------ src/old/utils/api-base.ts | 16 -- 38 files changed, 1444 deletions(-) delete mode 100644 src/old/config.ts delete mode 100644 src/old/index.ts delete mode 100644 src/old/payment/create-payment.ts delete mode 100644 src/old/payment/index.ts delete mode 100644 src/old/payment/intent/attach-intent.ts delete mode 100644 src/old/payment/intent/create-intent.ts delete mode 100644 src/old/payment/intent/index.ts delete mode 100644 src/old/payment/intent/retrieve-intent.ts delete mode 100644 src/old/payment/intent/types.ts delete mode 100644 src/old/payment/link/archive-link.ts delete mode 100644 src/old/payment/link/create-link.ts delete mode 100644 src/old/payment/link/index.ts delete mode 100644 src/old/payment/link/retrieve-from-ref-link.ts delete mode 100644 src/old/payment/link/retrieve-link.ts delete mode 100644 src/old/payment/link/types.ts delete mode 100644 src/old/payment/link/unarchive-link.ts delete mode 100644 src/old/payment/list-payments.ts delete mode 100644 src/old/payment/method/create-method.ts delete mode 100644 src/old/payment/method/index.ts delete mode 100644 src/old/payment/method/retrieve-method.ts delete mode 100644 src/old/payment/method/types.ts delete mode 100644 src/old/payment/refund/create-refund.ts delete mode 100644 src/old/payment/refund/index.ts delete mode 100644 src/old/payment/retrieve-payment.ts delete mode 100644 src/old/payment/source/create-source.ts delete mode 100644 src/old/payment/source/index.ts delete mode 100644 src/old/payment/source/retrieve-source.ts delete mode 100644 src/old/payment/source/types.ts delete mode 100644 src/old/payment/types.ts delete mode 100644 src/old/payment/webhook/create-webhook.ts delete mode 100644 src/old/payment/webhook/disable-webhook.ts delete mode 100644 src/old/payment/webhook/enable-webhook.ts delete mode 100644 src/old/payment/webhook/index.ts delete mode 100644 src/old/payment/webhook/list-webhooks.ts delete mode 100644 src/old/payment/webhook/retrieve-webhook.ts delete mode 100644 src/old/payment/webhook/types.ts delete mode 100644 src/old/payment/webhook/update-webhook.ts delete mode 100644 src/old/utils/api-base.ts diff --git a/src/old/config.ts b/src/old/config.ts deleted file mode 100644 index fa0b099..0000000 --- a/src/old/config.ts +++ /dev/null @@ -1,5 +0,0 @@ -const config = { - BASE_URL: "https://api.paymongo.com/v1", -}; - -export default config; diff --git a/src/old/index.ts b/src/old/index.ts deleted file mode 100644 index 8da1bd1..0000000 --- a/src/old/index.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { attachIntent, createIntent, retrieveIntent } from "./payment/intent"; -import { createMethod, retrieveMethod } from "./payment/method"; -import { - createWebhook, - disableWebhook, - enableWebhook, - listWebhooks, - retrieveWebhook, - updateWebhook, -} from "./payment/webhook"; -import { createSource, retrieveSource } from "./payment/source"; -import { - archiveLink, - createLink, - retrieveFromRefLink, - retrieveLink, - unarchiveLink, -} from "./payment/link"; -import { createPayment, retrievePayment, listPayments } from "./payment"; -import client from "./utils/api-base"; - -export * from "./payment/types"; - -export interface PaymongoClient { - intent: { - attach: typeof attachIntent; - create: typeof createIntent; - retrieve: typeof retrieveIntent; - }; - method: { - create: typeof createMethod; - retrieve: typeof retrieveMethod; - }; - webhook: { - create: typeof createWebhook; - disable: typeof disableWebhook; - enable: typeof enableWebhook; - list: typeof listWebhooks; - retrieve: typeof retrieveWebhook; - update: typeof updateWebhook; - }; - source: { - create: typeof createSource; - retrieve: typeof retrieveSource; - }; - link: { - archive: typeof archiveLink; - create: typeof createLink; - retrieveFromRef: typeof retrieveFromRefLink; - retrieve: typeof retrieveLink; - unarchive: typeof unarchiveLink; - }; - payment: { - create: typeof createPayment; - retrieve: typeof retrievePayment; - list: typeof listPayments; - }; -} - -export type ClientFunction = (secretKey: string) => PaymongoClient; - -/** - * @module PaymongoClient - * @param secretKey - The secret key of your Paymongo account. - * @returns {PaymongoClient} - The Paymongo client. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * return client; - * } - * ``` - * @returns - */ -export const createClient: ClientFunction = ( - secretKey: string -): PaymongoClient => { - client.defaults.auth = { - username: secretKey, - password: "", - }; - - return { - intent: { - attach: attachIntent, - create: createIntent, - retrieve: retrieveIntent, - }, - method: { - create: createMethod, - retrieve: retrieveMethod, - }, - webhook: { - create: createWebhook, - disable: disableWebhook, - enable: enableWebhook, - list: listWebhooks, - retrieve: retrieveWebhook, - update: updateWebhook, - }, - source: { - create: createSource, - retrieve: retrieveSource, - }, - link: { - archive: archiveLink, - create: createLink, - retrieveFromRef: retrieveFromRefLink, - retrieve: retrieveLink, - unarchive: unarchiveLink, - }, - payment: { - create: createPayment, - retrieve: retrievePayment, - list: listPayments, - }, - }; -}; diff --git a/src/old/payment/create-payment.ts b/src/old/payment/create-payment.ts deleted file mode 100644 index f647cad..0000000 --- a/src/old/payment/create-payment.ts +++ /dev/null @@ -1,66 +0,0 @@ -import api from "../utils/api-base"; -import { PaymentProps, PaymentResponse, CurrencyType } from "./types"; - -const defaultProps = { - amount: 0, - currency: "PHP" as CurrencyType, -}; - -/** - * @module createPayment - * @property {number} amount - Amount of the Payment. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. The amount is also considered as the gross amount. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - The description of the payment. - * @property {string} statement_descriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {object} source - The source of the payment. - * @property {string} source.id - The id of the source. - * @property {string} source.type - Type of a Source resource. Possible value is source - * @returns {CreatePaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.payment.create({ - * amount: 10000, - * currency: "PHP", - * source: { - * id: "src_utfBfBav5fzXuJiJMDs7J6ye", - * type: "source", - * }, - * statement_descriptor: "Test Payment", - description: "Test Payment" - * }); - * return data - * } - * ``` - */ -export const createPayment = async ({ - amount = defaultProps.amount, - currency = defaultProps.currency, - source, - description, - statement_descriptor, -}: PaymentProps): Promise => { - const data: any = { - attributes: { - amount, - currency, - source, - }, - }; - - if (description) data.attributes.description = description; - if (statement_descriptor) - data.attributes.statement_descriptor = statement_descriptor; - - try { - const res = await api.post("/payments", { data }); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/index.ts b/src/old/payment/index.ts deleted file mode 100644 index 655ad7c..0000000 --- a/src/old/payment/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./types"; -export * from "./intent"; - -export * from "./create-payment"; -export * from "./retrieve-payment"; -export * from "./list-payments"; diff --git a/src/old/payment/intent/attach-intent.ts b/src/old/payment/intent/attach-intent.ts deleted file mode 100644 index 2ed2704..0000000 --- a/src/old/payment/intent/attach-intent.ts +++ /dev/null @@ -1,51 +0,0 @@ -import api from "../../utils/api-base"; -import { AttachPaymentIntentProps, AttachPaymentIntentResponse } from "./types"; - -/** - * @module attachIntent - * @property {string} intentId - Id of PaymentIntent. - * @property {string} methodId - Id of PaymentMethod to attach to the PaymentIntent - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public API key. - * @property {string} returnUrl - An optional value for card payment method but required for paymaya. The URL to redirect your customer back to after they authenticate or cancel their payment. This parameter is only used for redirect-based payment methods. - * @returns {AttachPaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.attach({ - * intentId: intent.data.id, - * methodId: method.data.id, - * }); - * return data - * } - * ``` - */ -export const attachIntent = async ({ - intentId, - methodId, - clientKey, - returnUrl, -}: AttachPaymentIntentProps): Promise => { - const data: any = { - attributes: { - payment_method: methodId, - }, - }; - - if (clientKey) data.attributes.client_key = clientKey; - if (returnUrl) data.attributes.return_url = returnUrl; - - try { - const res = await api.post( - `/payment_intents/${intentId}/attach`, - { data } - ); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/intent/create-intent.ts b/src/old/payment/intent/create-intent.ts deleted file mode 100644 index 834c76e..0000000 --- a/src/old/payment/intent/create-intent.ts +++ /dev/null @@ -1,74 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentIntentResponse, CreatePaymentIntentProps } from "./types"; - -const defaultProps: CreatePaymentIntentProps = { - amount: 0, - paymentMethodAllowed: ["card", "paymaya"], - currency: "PHP", - request3DS: "any", -}; - -/** - * @module payment-intent/create - * @property {number} amount - Amount to be collected by the PaymentIntent. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {PaymentType} paymentMethodAllowed - The list of payment method types that the PaymentIntent is allowed to use. Possible values are card and paymaya for now. - * @property {string} request3DS - This is the only current option for card payment method. Depending on the value, this option decides whether the card must require 3DS authentication or adjust depending on the default 3D Secure configuration of the card. Possible values are either any or automatic. any requires 3D Secure authentication if supported while automatic uses the default 3D Secure configuration of the card. - * @property {string} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {string} description - Description of the payment intent. The value saved here will also be saved to the Payments resource that will be generated on attach PaymentMethod to PaymentIntent endpoint. - * @property {string} statementDescriptor - You can use this value as the complete description that appears on your customers’ statements. Your account's business name is the default value if not passed. The characters accepted are alphanumeric, , . - ) ( @ + &, and space. - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.intent.create({ - * amount: 10000, - * metadata: { - * order_id: "abc123", - * }, - * }); - * return data - * } - * ``` - */ -export const createIntent = async ({ - amount = defaultProps.amount, - currency = defaultProps.currency, - paymentMethodAllowed = defaultProps.paymentMethodAllowed, - request3DS = defaultProps.request3DS, - description, - statementDescriptor, - metadata, -}: CreatePaymentIntentProps): Promise => { - const data: any = { - attributes: { - amount, - payment_method_allowed: paymentMethodAllowed, - payment_method_options: { - card: { - request_three_d_secure: request3DS, - }, - }, - currency, - }, - }; - - if (description) data.attributes.description = description; - if (statementDescriptor) - data.attributes.statement_descriptor = statementDescriptor; - if (metadata) data.attributes.metadata = metadata; - - try { - const res = await api.post("/payment_intents", { - data, - }); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/intent/index.ts b/src/old/payment/intent/index.ts deleted file mode 100644 index 5ceed00..0000000 --- a/src/old/payment/intent/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./attach-intent"; -export * from "./create-intent"; -export * from "./retrieve-intent"; diff --git a/src/old/payment/intent/retrieve-intent.ts b/src/old/payment/intent/retrieve-intent.ts deleted file mode 100644 index 1d51a4f..0000000 --- a/src/old/payment/intent/retrieve-intent.ts +++ /dev/null @@ -1,36 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentIntentResponse, RetrievePaymentIntentProps } from "./types"; - -/** - * @module retrieveIntent - * @property {string} id - Id of the PaymentIntent. - * @property {string} clientKey - Client key of the PaymentIntent if the key used is a public key. - * @returns {PaymentIntentResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.intent.retrieve({ - * id: "pi_key", - * }); - * return data - * } - * ``` - */ -export const retrieveIntent = async ({ - intentId, - clientKey, -}: RetrievePaymentIntentProps): Promise => { - try { - let url = `/payment_intents/${intentId}`; - if (clientKey) url = `${url}?client_key=${clientKey}`; - const res = await api.get(url); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/intent/types.ts b/src/old/payment/intent/types.ts deleted file mode 100644 index 544bfc0..0000000 --- a/src/old/payment/intent/types.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { MetaData, PaymentType } from "../types"; - -// props -export interface CreatePaymentIntentProps { - amount: number; - paymentMethodAllowed?: PaymentType[]; - request3DS?: "any" | "automatic"; - currency?: "PHP" | string; - description?: string; - statementDescriptor?: string; - metadata?: MetaData; -} - -export interface RetrievePaymentIntentProps { - intentId: string; - clientKey?: string; -} - -export interface AttachPaymentIntentProps { - intentId: string; - methodId: string; - clientKey?: string; - returnUrl?: string; -} - -// response -export interface PaymentIntentCardResponse { - request_three_d_secure: string; -} - -export interface PaymentIntentPaymentMethodOptionsResponse { - card: PaymentIntentCardResponse; -} - -export interface PaymentIntentAttributesResponse { - amount: number; - currency: string; - description?: string; - statement_descriptor: string; - status: string; - livemode: boolean; - client_key: string; - created_at: number; - updated_at: number; - last_payment_error?: any; - payment_method_allowed: PaymentType[]; - payments: any[]; - next_action?: any; - payment_method_options?: PaymentIntentPaymentMethodOptionsResponse; - metadata?: MetaData; -} - -export interface PaymentIntentData { - id: string; - type: string; - attributes: PaymentIntentAttributesResponse; -} - -export interface PaymentIntentResponse { - data: PaymentIntentData; -} - -export interface AttachSource { - id: string; - type: string; - brand: string; - country: string; - last4: string; -} - -export interface AttachPaymentAttributes { - access_url?: string; - amount: number; - balance_transaction_id: string; - billing?: any; - currency: string; - description?: string; - disputed: boolean; - external_reference_number?: any; - fee: number; - foreign_fee: number; - livemode: boolean; - net_amount: number; - origin: string; - payment_intent_id: string; - payout?: any; - source: AttachSource; - statement_descriptor: string; - status: string; - tax_amount?: any; - refunds: any[]; - taxes: any[]; - available_at: number; - created_at: number; - paid_at: number; - updated_at: number; -} - -export interface AttachPayment { - id: string; - type: string; - attributes: AttachPaymentAttributes; -} - -export interface AttachCard { - request_three_d_secure: string; -} - -export interface AttachPaymentMethodOptions { - card: AttachCard; -} - -export interface AttachAttributes { - amount: number; - currency: string; - description?: string; - statement_descriptor: string; - status: string; - livemode: boolean; - client_key: string; - created_at: number; - updated_at: number; - last_payment_error?: any; - payment_method_allowed: string[]; - payments: AttachPayment[]; - next_action?: any; - payment_method_options: AttachPaymentMethodOptions; - metadata?: MetaData; -} - -export interface AttachData { - id: string; - type: string; - attributes: AttachAttributes; -} - -export interface AttachPaymentIntentResponse { - data: AttachData; -} diff --git a/src/old/payment/link/archive-link.ts b/src/old/payment/link/archive-link.ts deleted file mode 100644 index 7e16f2a..0000000 --- a/src/old/payment/link/archive-link.ts +++ /dev/null @@ -1,30 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentLinkResponse } from "./types"; - -/** - * @module archiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.archive("link_id"); - * return data - * } - * ``` - */ -export const archiveLink = async ( - linkId: string -): Promise => { - try { - const res = await api.post(`/links/${linkId}/archive`); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/link/create-link.ts b/src/old/payment/link/create-link.ts deleted file mode 100644 index 9e2f6f8..0000000 --- a/src/old/payment/link/create-link.ts +++ /dev/null @@ -1,46 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentLinkResponse, CreatePaymentLinkProps } from "./types"; - -/** - * @module createLink - * @property {number} amount - The expected amount that the link should receive. A positive integer with a minimum amount of 100. 100 is the smallest unit in cents. If you want the link to receive an amount of 1.00, the value that you should pass is 100. If you want the link to receive an amount of 1500.50, the value that you should pass is 150050. - * @property {string} description - Describes the purpose of the link. The value is also displayed when you access the link from a browser. - * @property {string} remarks - (optional) Additional information about the link but for internal use. The value is not displayed if a customer accessed the PayMongo link from the browser. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.link.create({ - * amount: 10000, - * description: "Payment for order 123", - * }); - * return data - * } - * ``` - */ -export const createLink = async ({ - amount, - description, - remarks, -}: CreatePaymentLinkProps): Promise => { - const data: any = { - attributes: { - amount, - description, - }, - }; - - if (remarks) data.attributes.remarks = remarks; - - try { - const res = await api.post("/links", { data }); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/link/index.ts b/src/old/payment/link/index.ts deleted file mode 100644 index b512104..0000000 --- a/src/old/payment/link/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./archive-link"; -export * from "./create-link"; -export * from "./retrieve-from-ref-link"; -export * from "./retrieve-link"; -export * from "./unarchive-link"; diff --git a/src/old/payment/link/retrieve-from-ref-link.ts b/src/old/payment/link/retrieve-from-ref-link.ts deleted file mode 100644 index 27abef3..0000000 --- a/src/old/payment/link/retrieve-from-ref-link.ts +++ /dev/null @@ -1,30 +0,0 @@ -import api from "../../utils/api-base"; -import { RetrieveFromRefResponse } from "./types"; - -/** - * @module retrieveFromRefLink - * @property {string} refId - The unique identifier of the PayMongo link checkout URL. - * @returns {RetrieveFromRefResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieveFromRef("ref_id"); - * return data - * } - * ``` - */ -export const retrieveFromRefLink = async ( - refId: string -): Promise => { - try { - const res = await api.get(`/links?reference_number=${refId}`); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/link/retrieve-link.ts b/src/old/payment/link/retrieve-link.ts deleted file mode 100644 index de0641b..0000000 --- a/src/old/payment/link/retrieve-link.ts +++ /dev/null @@ -1,30 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentLinkResponse } from "./types"; - -/** - * @module retrieveLink - * @property {string} linkId - The id of the payment link. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.retrieve("link_id"); - * return data - * } - * ``` - */ -export const retrieveLink = async ( - linkId: string -): Promise => { - try { - const res = await api.get(`/links/${linkId}`); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/link/types.ts b/src/old/payment/link/types.ts deleted file mode 100644 index 9cf0b0b..0000000 --- a/src/old/payment/link/types.ts +++ /dev/null @@ -1,38 +0,0 @@ -export interface CreatePaymentLinkProps { - amount: number; - description: string; - remarks?: string; -} - -export interface PaymentLinkAttributes { - amount: number; - archived: boolean; - currency: string; - description: string; - livemode: boolean; - fee: number; - remarks?: string; - status: string; - tax_amount?: any; - taxes: any[]; - checkout_url: string; - reference_number: string; - created_at: number; - updated_at: number; - payments: any[]; -} - -export interface PaymentLinkData { - id: string; - type: string; - attributes: PaymentLinkAttributes; -} - -export interface PaymentLinkResponse { - data: PaymentLinkData; -} - -export interface RetrieveFromRefResponse { - has_more: boolean; - data: PaymentLinkData[]; -} diff --git a/src/old/payment/link/unarchive-link.ts b/src/old/payment/link/unarchive-link.ts deleted file mode 100644 index dc22f3f..0000000 --- a/src/old/payment/link/unarchive-link.ts +++ /dev/null @@ -1,30 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentLinkResponse } from "./types"; - -/** - * @module unarchiveLink - * @property {string} linkId - ID of the link to archive. - * @returns {PaymentLinkResponse} - The payment intent data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.link.unarchive("link_id"); - * return data - * } - * ``` - */ -export const unarchiveLink = async ( - linkId: string -): Promise => { - try { - const res = await api.post(`/links/${linkId}/unarchive`); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/list-payments.ts b/src/old/payment/list-payments.ts deleted file mode 100644 index c2623f8..0000000 --- a/src/old/payment/list-payments.ts +++ /dev/null @@ -1,27 +0,0 @@ -import api from "../utils/api-base"; -import { ListPaymentResponse } from "./types"; - -/** - * @module listPayments - * @returns {ListPaymentResponse} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.payment.list(); - * return webhooks; - * } - * ``` - */ -export const listPayments = async (): Promise => { - try { - const response = await api.get("/payments"); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/method/create-method.ts b/src/old/payment/method/create-method.ts deleted file mode 100644 index 65b30be..0000000 --- a/src/old/payment/method/create-method.ts +++ /dev/null @@ -1,61 +0,0 @@ -import api from "../../utils/api-base"; -import { CreatePaymentMethodProps, PaymentMethodResponse } from "./types"; - -/** - * @module createPaymentMethod - * @property {PaymentMethodDetails} details - The details of the payment method. - * @property {string} type - The type of payment method. The possible values are card and paymaya for now. - * @property {PaymentMethodBilling} billing - The billing details - * @property {MetaData} metadata - A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const data = await client.method.create({ - * details: { - * cardNumber: "4343434343434345", - * expMonth: 3, - * expYear: 2023, - * cvc: "321", - * }, - * type: "card", - * }); - * return data - * } - * ``` - */ -export const createMethod = async ({ - details, - type, - billing, - metadata, -}: CreatePaymentMethodProps): Promise => { - const data: any = { - attributes: { - details: { - card_number: details.cardNumber, - exp_month: details.expMonth, - exp_year: details.expYear, - cvc: details.cvc, - }, - type, - }, - }; - - if (billing) data.attributes.billing = billing; - if (metadata) data.attributes.metadata = metadata; - - try { - const res = await api.post("/payment_methods", { - data, - }); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/method/index.ts b/src/old/payment/method/index.ts deleted file mode 100644 index 725da49..0000000 --- a/src/old/payment/method/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-method"; -export * from "./retrieve-method"; diff --git a/src/old/payment/method/retrieve-method.ts b/src/old/payment/method/retrieve-method.ts deleted file mode 100644 index 631cd97..0000000 --- a/src/old/payment/method/retrieve-method.ts +++ /dev/null @@ -1,32 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentMethodResponse } from "./types"; - -/** - * @module retrievePaymentMethod - * @property {string} id - The id of the payment method. - * @returns {PaymentMethodResponse} - The payment method data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * data = await client.method.retrieve("pm_key"); - * return data - * } - * ``` - */ -export const retrieveMethod = async ( - methodId: string -): Promise => { - try { - const res = await api.get( - `/payment_methods/${methodId}` - ); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/method/types.ts b/src/old/payment/method/types.ts deleted file mode 100644 index 150fce4..0000000 --- a/src/old/payment/method/types.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { MetaData, BillingType } from "../types"; - -// props -export interface PaymentMethodDetails { - cardNumber: string; - expMonth: number; - expYear: number; - cvc: string; -} - -export interface PaymentMethodAddress { - line1: string; - line2: string; - city: string; - state: string; - postal_code: string; - country: string; -} - -export interface CreatePaymentMethodProps { - details: PaymentMethodDetails; - type: string; - billing?: BillingType; - metadata?: MetaData; -} - -// response -export interface PaymentMethodDetailsResponse { - exp_month: number; - exp_year: number; - last4: string; -} - -export interface PaymentMethodAttributesResponse { - livemode: boolean; - type: string; - billing?: any; - created_at: number; - updated_at: number; - details: PaymentMethodDetailsResponse; - metadata?: any; -} - -export interface PaymentMethodDataResponse { - id: string; - type: string; - attributes: PaymentMethodAttributesResponse; -} - -export interface PaymentMethodResponse { - data: PaymentMethodDataResponse; -} diff --git a/src/old/payment/refund/create-refund.ts b/src/old/payment/refund/create-refund.ts deleted file mode 100644 index 6b1fac8..0000000 --- a/src/old/payment/refund/create-refund.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @module createPaymentRefund - * - * - */ -export const createPaymentRefund = async () => { - try { - throw new Error("TODO: createPaymentRefund"); - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/refund/index.ts b/src/old/payment/refund/index.ts deleted file mode 100644 index e94c820..0000000 --- a/src/old/payment/refund/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./create-refund"; diff --git a/src/old/payment/retrieve-payment.ts b/src/old/payment/retrieve-payment.ts deleted file mode 100644 index 311c164..0000000 --- a/src/old/payment/retrieve-payment.ts +++ /dev/null @@ -1,30 +0,0 @@ -import api from "../utils/api-base"; -import { PaymentResponse } from "./types"; - -/** - * @module retrievePayment - * @property {string} paymentId - The id of the payment. - * @returns {PaymentResponse} - The payment data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.payment.retrieve("payment_id"); - * return data - * } - * ``` - */ -export const retrievePayment = async ( - paymentId: string -): Promise => { - try { - const res = await api.get(`/payments/${paymentId}`); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/source/create-source.ts b/src/old/payment/source/create-source.ts deleted file mode 100644 index ac3f776..0000000 --- a/src/old/payment/source/create-source.ts +++ /dev/null @@ -1,67 +0,0 @@ -import api from "../../utils/api-base"; -import { CurrencyType } from "../types"; -import { PaymentSourceResponse, CreateSourceProps } from "./types"; - -const defaultProps = { - amount: 0, - type: "gcash", - currency: "PHP", -}; - -/** - * @module createSource - * @property {number} amount - Amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create. - * @property {RedirectType} redirect - redirect url for success and failed payment. - * @property {SourceType} type - The type of source. Possible values are gcash and grab_pay. - * @property {CurrencyType} currency - Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment. - * @property {BillingProps} billing - billing information of the payment source. - * @returns {CreateSourceResponse} - The response of the create source request. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * const data = await client.source.create({ - * amount: 10000, - * redirect: { - * success: `http://localhost:3000/payments/success`, - * failed: `http://localhost:3000/payments/error`, - * }, - * type: "gcash", - * currency: "PHP", - * }); - * - * return data - * } - * ``` - */ -export const createSource = async ({ - amount = defaultProps.amount, - type = defaultProps.type, - currency = defaultProps.currency as CurrencyType, - redirect, - billing, -}: CreateSourceProps): Promise => { - const data: any = { - attributes: { - amount, - redirect, - type, - currency, - }, - }; - - if (billing) data.attributes.billing = billing; - - try { - const response = await api.post("/sources", { - data, - }); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/source/index.ts b/src/old/payment/source/index.ts deleted file mode 100644 index a0bbe04..0000000 --- a/src/old/payment/source/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-source"; -export * from "./retrieve-source"; diff --git a/src/old/payment/source/retrieve-source.ts b/src/old/payment/source/retrieve-source.ts deleted file mode 100644 index 730d015..0000000 --- a/src/old/payment/source/retrieve-source.ts +++ /dev/null @@ -1,30 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentSourceResponse } from "./types"; - -/** - * @module retrieveSource - * @property {string} sourceId - The id of the payment source. - * @returns {RetrieveSourceResponse} - The payment source data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("pk_test_key"); - * data = await client.source.retrieve("source_id"); - * return data - * } - * ``` - */ -export const retrieveSource = async ( - sourceId: string -): Promise => { - try { - const res = await api.get(`/sources/${sourceId}`); - return res.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/source/types.ts b/src/old/payment/source/types.ts deleted file mode 100644 index 5466486..0000000 --- a/src/old/payment/source/types.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { - CurrencyType, - RedirectType, - SourceType, - StatusType, - BillingType, -} from "../types"; - -export interface CreateSourceProps { - amount: number; - redirect: RedirectType; - type: SourceType; - currency: CurrencyType; - billing?: BillingType; -} -export interface PaymentSourceResponse { - data: { - id: string; - type: string; - attributes: PaymentSourceAttributes; - }; -} - -export interface PaymentSourceAttributes { - amount: number; - billing?: BillingType; - currency: CurrencyType; - description?: any; - livemode: boolean; - redirect: RedirectType; - statement_descriptor?: any; - status: StatusType; - type: SourceType; - created_at: number; - updated_at: number; -} diff --git a/src/old/payment/types.ts b/src/old/payment/types.ts deleted file mode 100644 index 7bee07c..0000000 --- a/src/old/payment/types.ts +++ /dev/null @@ -1,115 +0,0 @@ -// intent -export * from "./intent/types"; - -// method -export * from "./method/types"; - -// webhook -export * from "./webhook/types"; - -// source -export * from "./source/types"; - -// links -export * from "./link/types"; - -// payments -export interface PaymentProps { - amount: number; - source: { - id: string; - type: string; - }; - currency?: CurrencyType; - description?: string; - statement_descriptor?: string; -} - -export interface PaymentResponse { - data: PaymentData; -} - -export interface PaymentData { - id: string; - type: string; - attributes: PaymentAttributes; -} - -export interface PaymentAttributes { - access_url?: any; - amount: number; - balance_transaction_id: string; - billing?: BillingType; - currency: CurrencyType; - description: string; - disputed: boolean; - external_reference_number?: any; - fee: number; - livemode: boolean; - net_amount: number; - origin: string; - payment_intent_id?: any; - payout?: any; - source: PaymentSource; - statement_descriptor: string; - status: StatusType; - tax_amount?: any; - refunds: any[]; - taxes: any[]; - available_at: number; - created_at: number; - paid_at: number; - updated_at: number; -} - -export interface PaymentSource { - id: string; - type: SourceType; -} - -export interface ListPaymentResponse { - has_more: boolean; - data: PaymentData[]; -} - -// general types -export type MetaData = { - [key: string]: string; -}; - -export type PaymentType = "card" | "paymaya" | string; -export type SourceType = "gcash" | "grab_pay" | string; -export type CurrencyType = "PHP"; -export type RedirectType = { - success: string; - failed: string; - checkout_url?: string; -}; -export type StatusType = "pending" | "paid" | string; - -export type WebhookEvent = - | "source.chargeable" - | "payment.paid" - | "payment.failed"; - -/** - * @property {string} name - Name of the billing information - * @property {string} phone - Phone number of the billing information - * @property {string} email - E-mail address of the billing information - * @property {string} address - Address of the billing information - */ -export type BillingType = { - name?: string; - phone?: string; - email?: string; - address?: AddressType; -}; - -export type AddressType = { - line1?: string; - line2?: string; - city?: string; - state?: string; - postal_code?: string; - country?: string; -}; diff --git a/src/old/payment/webhook/create-webhook.ts b/src/old/payment/webhook/create-webhook.ts deleted file mode 100644 index 3de0fee..0000000 --- a/src/old/payment/webhook/create-webhook.ts +++ /dev/null @@ -1,43 +0,0 @@ -import api from "../../utils/api-base"; -import { CreateWebhookProps, PaymentWebhookResponse } from "./types"; - -/** - * @module createWebhook - * @property {string} url - The destination URL of the events that happened from your account. Please make sure that the URL is publicly accessible in order for you to receive the event. - * @property {string[]} events - The list of events to be sent to this webhook. Possible values in the meantime are source.chargeable, payment.paid and payment.failed. - * @returns {PaymentWebhookResponse} - The payment webhook data. * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.create({ - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ -export const createWebhook = async ({ - url, - events, -}: CreateWebhookProps): Promise => { - const data: any = { - attributes: { - url, - events, - }, - }; - - try { - const response = await api.post("/webhooks", { - data, - }); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/webhook/disable-webhook.ts b/src/old/payment/webhook/disable-webhook.ts deleted file mode 100644 index 129fd35..0000000 --- a/src/old/payment/webhook/disable-webhook.ts +++ /dev/null @@ -1,32 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentWebhookResponse } from "./types"; - -/** - * @module disableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.disable("webhook_id"); - * return webhook; - * } - * ``` - */ -export const disableWebhook = async ( - webhookId: string -): Promise => { - try { - const response = await api.post( - `/webhooks/${webhookId}/disable` - ); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/webhook/enable-webhook.ts b/src/old/payment/webhook/enable-webhook.ts deleted file mode 100644 index 6ba604f..0000000 --- a/src/old/payment/webhook/enable-webhook.ts +++ /dev/null @@ -1,32 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentWebhookResponse } from "./types"; - -/** - * @module enableWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.enable("webhook_id"); - * return webhook; - * } - * ``` - */ -export const enableWebhook = async ( - webhookId: string -): Promise => { - try { - const response = await api.post( - `/webhooks/${webhookId}/enable` - ); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/webhook/index.ts b/src/old/payment/webhook/index.ts deleted file mode 100644 index 10782fe..0000000 --- a/src/old/payment/webhook/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./create-webhook"; -export * from "./disable-webhook"; -export * from "./enable-webhook"; -export * from "./list-webhooks"; -export * from "./retrieve-webhook"; -export * from "./update-webhook"; diff --git a/src/old/payment/webhook/list-webhooks.ts b/src/old/payment/webhook/list-webhooks.ts deleted file mode 100644 index 9cafa96..0000000 --- a/src/old/payment/webhook/list-webhooks.ts +++ /dev/null @@ -1,27 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentWebhookResponse } from "./types"; - -/** - * @module listWebhook - * @returns {PaymentWebhookResponse[]} - The list of payment webhooks. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhooks = await client.webhook.list(); - * return webhooks; - * } - * ``` - */ -export const listWebhooks = async (): Promise => { - try { - const response = await api.get("/webhooks"); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/webhook/retrieve-webhook.ts b/src/old/payment/webhook/retrieve-webhook.ts deleted file mode 100644 index bc025c5..0000000 --- a/src/old/payment/webhook/retrieve-webhook.ts +++ /dev/null @@ -1,32 +0,0 @@ -import api from "../../utils/api-base"; -import { PaymentWebhookResponse } from "./types"; - -/** - * @module retrieveWebhook - * @property {string} webhookId - The webhook id - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.retrieve("webhook_id"); - * return webhook; - * } - * ``` - */ -export const retrieveWebhook = async ( - webhookId: string -): Promise => { - try { - const response = await api.get( - `/webhooks/${webhookId}` - ); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/payment/webhook/types.ts b/src/old/payment/webhook/types.ts deleted file mode 100644 index aadfcbd..0000000 --- a/src/old/payment/webhook/types.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { WebhookEvent } from "../types"; - -export interface CreateWebhookProps { - url: string; - events: WebhookEvent[]; -} - -export interface UpdateWebhookProps extends Partial { - webhookId: string; -} - -export interface WebhookAttributes { - livemode: boolean; - secret_key: string; - status: string; - url: string; - events: WebhookEvent[]; - created_at: number; - updated_at: number; -} - -export interface WebhookData { - id: string; - type: string; - attributes: WebhookAttributes; -} - -export interface PaymentWebhookResponse { - data: WebhookData; -} diff --git a/src/old/payment/webhook/update-webhook.ts b/src/old/payment/webhook/update-webhook.ts deleted file mode 100644 index 4c11d68..0000000 --- a/src/old/payment/webhook/update-webhook.ts +++ /dev/null @@ -1,48 +0,0 @@ -import api from "../../utils/api-base"; -import { UpdateWebhookProps, PaymentWebhookResponse } from "./types"; - -/** - * @module updateWebhook - * @property {string} webhookId - The ID of the webhook to update. - * @property {string} url - The webhook url - * @property {string[]} events - The webhook events ("source.chargeable" | "payment.paid" | "payment.failed") - * @returns {PaymentWebhookResponse} - The payment webhook data. - * - * @example - * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = PaymongoClient("sk_test_key"); - * const webhook = await client.webhook.update({ - * webhookId: "webhook_id", - * events: ["payment.failed", "payment.paid", "source.chargeable"], - * url: "https://example.com/webhook", - * }); - * return webhook; - * } - * ``` - */ -export const updateWebhook = async ({ - webhookId, - url, - events, -}: UpdateWebhookProps): Promise => { - const data: any = { - attributes: { - url, - events, - }, - }; - - try { - const response = await api.put( - `/webhooks/${webhookId}`, - { data } - ); - return response.data; - } catch (err) { - const error: any = err; - throw error.response.data; - } -}; diff --git a/src/old/utils/api-base.ts b/src/old/utils/api-base.ts deleted file mode 100644 index fc06319..0000000 --- a/src/old/utils/api-base.ts +++ /dev/null @@ -1,16 +0,0 @@ -import axios from "axios"; -import config from "../config"; - -export const baseUrl = config.BASE_URL; - -const axiosInstance = axios.create({ - baseURL: baseUrl, - headers: { - "Content-type": "application/json", - Accept: "application/json", - "Access-Control-Allow-Origin": "*", - }, - responseType: "json", -}); - -export default axiosInstance; From 103bc5ea99dd4da288d072d5f7fe241234d35beb Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 10:23:54 +0800 Subject: [PATCH 23/44] chore: export payment method types --- src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.ts b/src/index.ts index f138df3..d006241 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,3 +3,6 @@ export { createPaymongoClient } from "./client"; export type { PaymentIntentOutput } from "./api/intent/types"; export type { PaymentIntentCreateInput } from "./api/intent/create"; export type { PaymentIntentRetrieveInput } from "./api/intent/retrieve"; + +export type { PaymentMethodOutput } from "./api/method/types"; +export type { PaymentMethodCreateInput } from "./api/method/create"; From b11062ef0d38b7cf072ff2ec67906c21f1093ac4 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 10:35:02 +0800 Subject: [PATCH 24/44] chore: add method retrieve test --- src/api/intent/create.ts | 8 +------- src/api/intent/retrieve.ts | 9 ++------- src/api/method/retrieve.ts | 40 ++++++++++++++++++++++++++++++++++++++ src/client.ts | 4 ++++ src/index.ts | 1 + test/intent.test.ts | 4 ++-- test/method.test.ts | 34 ++++++++++++++++---------------- 7 files changed, 67 insertions(+), 33 deletions(-) create mode 100644 src/api/method/retrieve.ts diff --git a/src/api/intent/create.ts b/src/api/intent/create.ts index 1bd1f85..4529f00 100644 --- a/src/api/intent/create.ts +++ b/src/api/intent/create.ts @@ -38,17 +38,11 @@ export type PaymentIntentCreateInput = z.infer< * * @example * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = createPaymongoClient("secret-key"); - * const data = await client.intent.create({ + * const intent = await client.intent.create({ * amount: 10000, * payment_method_allowed: ["card", "gcash"], * currency: "PHP", * }); - * return data; - * } * ``` */ export const createPaymentIntent = async ( diff --git a/src/api/intent/retrieve.ts b/src/api/intent/retrieve.ts index 33c019a..fc6cff5 100644 --- a/src/api/intent/retrieve.ts +++ b/src/api/intent/retrieve.ts @@ -18,14 +18,9 @@ export type PaymentIntentRetrieveInput = z.infer< * * @example * ```js - * import PaymongoClient from "paymongo.js"; - * - * const main = async () => { - * const client = createPaymongoClient("secret-key"); - * const data = await client.intent.retrieve({ - * intentId: "pi_uP9jFcxB916dPGrhFURfbfVX", + * const intent = await client.intent.retrieve({ + * intentId: "some_intent_id", * }); - * return data; * } * ``` */ diff --git a/src/api/method/retrieve.ts b/src/api/method/retrieve.ts new file mode 100644 index 0000000..45e66a8 --- /dev/null +++ b/src/api/method/retrieve.ts @@ -0,0 +1,40 @@ +import { z } from "zod"; + +import { PaymentMethodOutput, paymentMethodOutputSchema } from "./types"; +import { api } from "../base"; +import { handleError } from "../../utils/handle-error"; + +export const paymentMethodRetrieveInputSchema = z.object({ + methodId: z.string(), +}); + +export type PaymentMethodRetrieveInput = z.infer< + typeof paymentMethodRetrieveInputSchema +>; + +/** + * # Retrieve a PaymentMethod + * @link https://developers.paymongo.com/reference/retrieve-a-paymentmethod + * + * @example + * ```js + * const method = await client.method.retrieve({ + * methodId: "some_method_id", + * }); + * } + * ``` + */ +export const retrievePaymentMethod = async ( + input: PaymentMethodRetrieveInput +): Promise => { + try { + const parsedInput = paymentMethodRetrieveInputSchema.parse(input); + const methodId = encodeURIComponent(parsedInput.methodId); + const res = await api.get( + `/payment_methods/${methodId}` + ); + return paymentMethodOutputSchema.parse(res.data); + } catch (e) { + return handleError(e); + } +}; diff --git a/src/client.ts b/src/client.ts index 1b22ffc..3e10334 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,7 +1,10 @@ import { api } from "./api/base"; + import { createPaymentIntent } from "./api/intent/create"; import { retrievePaymentIntent } from "./api/intent/retrieve"; + import { createPaymentMethod } from "./api/method/create"; +import { retrievePaymentMethod } from "./api/method/retrieve"; export const createPaymongoClient = (key: string) => { api.defaults.auth = { @@ -24,6 +27,7 @@ export const createPaymongoClient = (key: string) => { */ method: { create: createPaymentMethod, + retrieve: retrievePaymentMethod, }, }; }; diff --git a/src/index.ts b/src/index.ts index d006241..fd3d10e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,3 +6,4 @@ export type { PaymentIntentRetrieveInput } from "./api/intent/retrieve"; export type { PaymentMethodOutput } from "./api/method/types"; export type { PaymentMethodCreateInput } from "./api/method/create"; +export type { PaymentMethodRetrieveInput } from "./api/method/retrieve"; diff --git a/test/intent.test.ts b/test/intent.test.ts index 06eea8e..8948895 100644 --- a/test/intent.test.ts +++ b/test/intent.test.ts @@ -32,7 +32,7 @@ describe("retrieve payment intent", () => { it("can retrieve payment intent", async () => { const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; const res = await client.intent.retrieve({ - intentId: intentId, + intentId, }); expect(res.data.id).toEqual(intentId); }); @@ -40,7 +40,7 @@ describe("retrieve payment intent", () => { it("rejects on not found", async () => { const intentId = "does-not-exist"; const res = client.intent.retrieve({ - intentId: intentId, + intentId, }); await expect(res).rejects.toThrow(); }); diff --git a/test/method.test.ts b/test/method.test.ts index e4c461c..6c56d7d 100644 --- a/test/method.test.ts +++ b/test/method.test.ts @@ -68,20 +68,20 @@ describe("create payment method", () => { }); }); -/* describe.skip("retrieve payment method", () => { */ -/* it("can retrieve payment intent", async () => { */ -/* const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; */ -/* const res = await client.intent.retrieve({ */ -/* intentId: intentId, */ -/* }); */ -/* expect(res.data.id).toEqual(intentId); */ -/* }); */ -/**/ -/* it("rejects on not found", async () => { */ -/* const intentId = "does-not-exist"; */ -/* const res = client.intent.retrieve({ */ -/* intentId: intentId, */ -/* }); */ -/* await expect(res).rejects.toThrow(); */ -/* }); */ -/* }); */ +describe("retrieve payment method", () => { + it("can retrieve payment method", async () => { + const methodId = "pm_2QhZyVZEcFbq7RGQJ8YeZUQT"; + const res = await client.method.retrieve({ + methodId, + }); + expect(res.data.id).toEqual(methodId); + }); + + it("rejects on not found", async () => { + const methodId = "does-not-exist"; + const res = client.method.retrieve({ + methodId, + }); + await expect(res).rejects.toThrow(); + }); +}); From 21e6f25eaf7b20220ca63d5d21fffa342c00cd56 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 16:44:25 +0800 Subject: [PATCH 25/44] chore: dynamic pi and pm --- test/intent.test.ts | 8 +++++--- test/method.test.ts | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/test/intent.test.ts b/test/intent.test.ts index 8948895..e9484f1 100644 --- a/test/intent.test.ts +++ b/test/intent.test.ts @@ -5,6 +5,8 @@ import { createPaymongoClient } from "../src"; const key = process.env.PM_SECRET_KEY as string; const client = createPaymongoClient(key); +let pi = ""; + describe("create payment intent", () => { it("can create payment intent", async () => { const res = await client.intent.create({ @@ -12,6 +14,7 @@ describe("create payment intent", () => { payment_method_allowed: ["card", "gcash"], currency: "PHP", }); + pi = res.data.id; expect(res.data.type).toEqual("payment_intent"); expect(res.data.attributes.amount).toEqual(10000); }); @@ -30,11 +33,10 @@ describe("create payment intent", () => { describe("retrieve payment intent", () => { it("can retrieve payment intent", async () => { - const intentId = "pi_uP9jFcxB916dPGrhFURfbfVX"; const res = await client.intent.retrieve({ - intentId, + intentId: pi, }); - expect(res.data.id).toEqual(intentId); + expect(res.data.id).toEqual(pi); }); it("rejects on not found", async () => { diff --git a/test/method.test.ts b/test/method.test.ts index 6c56d7d..cb5b3b8 100644 --- a/test/method.test.ts +++ b/test/method.test.ts @@ -6,11 +6,14 @@ import { testCards } from "./utils"; const key = process.env.PM_SECRET_KEY as string; const client = createPaymongoClient(key); +let pm = ""; + describe("create payment method", () => { it("can create gcash payment method", async () => { const res = await client.method.create({ type: "gcash", }); + pm = res.data.id; expect(res.data.type).toEqual("payment_method"); expect(res.data.attributes.type).toEqual("gcash"); }); @@ -70,11 +73,10 @@ describe("create payment method", () => { describe("retrieve payment method", () => { it("can retrieve payment method", async () => { - const methodId = "pm_2QhZyVZEcFbq7RGQJ8YeZUQT"; const res = await client.method.retrieve({ - methodId, + methodId: pm, }); - expect(res.data.id).toEqual(methodId); + expect(res.data.id).toEqual(pm); }); it("rejects on not found", async () => { From e225b72d30f6f5f87bb022c70c903bebc328ff2f Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 17:27:39 +0800 Subject: [PATCH 26/44] feat: attach to payment intent --- src/api/intent/attach.ts | 45 ++++++++++++++++++++ src/api/intent/types.ts | 3 +- src/client.ts | 2 + src/utils/handle-error.ts | 22 ++++++++++ test/intent.test.ts | 86 ++++++++++++++++++++++++++++++++++++++- 5 files changed, 155 insertions(+), 3 deletions(-) create mode 100644 src/api/intent/attach.ts diff --git a/src/api/intent/attach.ts b/src/api/intent/attach.ts new file mode 100644 index 0000000..168a3c8 --- /dev/null +++ b/src/api/intent/attach.ts @@ -0,0 +1,45 @@ +import { z } from "zod"; + +import { PaymentIntentOutput, paymentIntentOutputSchema } from "./types"; +import { api } from "../base"; +import { handleError } from "../../utils/handle-error"; + +export const paymentIntentAttachInputSchema = z.object({ + intentId: z.string(), + methodId: z.string(), + client_key: z.string().optional(), + return_url: z.string().optional(), +}); + +export type PaymentIntentAttachInput = z.infer< + typeof paymentIntentAttachInputSchema +>; + +/** + * # Attach to PaymentIntent + * @link https://developers.paymongo.com/reference/attach-to-paymentintent + * + * @example + * ```js + * const intent = await client.intent.attach({ + * intentId: "some_intent_id", + * methodId: "some_method_id"", + * return_url: "https://example.com/success", + * }); + * ``` + */ +export const attachToPaymentIntent = async ( + input: PaymentIntentAttachInput +): Promise => { + try { + const { intentId, ...rest } = paymentIntentAttachInputSchema.parse(input); + const id = encodeURIComponent(intentId); + const res = await api.post( + `/payment_intents/${id}/attach`, + { data: { attributes: { payment_method: rest.methodId, ...rest } } } + ); + return paymentIntentOutputSchema.parse(res.data); + } catch (e) { + return handleError(e); + } +}; diff --git a/src/api/intent/types.ts b/src/api/intent/types.ts index 3e84ca1..d5c2c17 100644 --- a/src/api/intent/types.ts +++ b/src/api/intent/types.ts @@ -20,6 +20,7 @@ export const paymentIntentOutputSchema = z.object({ capture_type: z.enum(["manual", "automatic"]), last_payment_error: z.object({}).nullable(), payment_method_allowed: z.array(z.string()), + // TODO: Replace with paymentOutputSchema payments: z.array(z.any()), next_action: z .object({ @@ -34,7 +35,7 @@ export const paymentIntentOutputSchema = z.object({ card: z.object({ request_three_d_secure: z.enum(["any", "automatic"]), }), - }), + }).nullable(), setup_future_usage: z .object({ session_type: z.enum(["on_session"]), diff --git a/src/client.ts b/src/client.ts index 3e10334..521c28a 100644 --- a/src/client.ts +++ b/src/client.ts @@ -2,6 +2,7 @@ import { api } from "./api/base"; import { createPaymentIntent } from "./api/intent/create"; import { retrievePaymentIntent } from "./api/intent/retrieve"; +import { attachToPaymentIntent } from "./api/intent/attach"; import { createPaymentMethod } from "./api/method/create"; import { retrievePaymentMethod } from "./api/method/retrieve"; @@ -20,6 +21,7 @@ export const createPaymongoClient = (key: string) => { intent: { create: createPaymentIntent, retrieve: retrievePaymentIntent, + attach: attachToPaymentIntent }, /** * # PaymentMethod Resource diff --git a/src/utils/handle-error.ts b/src/utils/handle-error.ts index 865818d..7035477 100644 --- a/src/utils/handle-error.ts +++ b/src/utils/handle-error.ts @@ -3,9 +3,31 @@ import { ZodError } from "zod"; export const handleError = (e: unknown) => { if (e instanceof AxiosError) { + const errs = e.response?.data.errors; + if (Array.isArray(errs) && errs.length > 0) { + console.error(errs[0].detail); + throw new Error(errs[0].detail); + } + + console.error(JSON.stringify(e.response?.data, null, 2)); throw new Error(e.response?.data); } else if (e instanceof ZodError) { + if (e.errors.length > 0) { + const msg = `${e.errors[0].message} for ${e.errors[0].path.join(", ")}`; + console.error(msg); + throw new Error(msg); + } + + console.error(e.message); throw new Error(e.message); } + + const err = e as any; + if (err.message) { + console.error(err.message); + throw new Error(err.message); + } + + console.error(e); throw e; }; diff --git a/test/intent.test.ts b/test/intent.test.ts index e9484f1..7e153ee 100644 --- a/test/intent.test.ts +++ b/test/intent.test.ts @@ -1,13 +1,14 @@ import "dotenv/config"; import { it, expect, describe } from "vitest"; import { createPaymongoClient } from "../src"; +import { testCards } from "./utils"; const key = process.env.PM_SECRET_KEY as string; const client = createPaymongoClient(key); let pi = ""; -describe("create payment intent", () => { +describe.skip("create payment intent", () => { it("can create payment intent", async () => { const res = await client.intent.create({ amount: 10000, @@ -31,7 +32,88 @@ describe("create payment intent", () => { }); }); -describe("retrieve payment intent", () => { +describe("attach payment intent", () => { + it("can attach to gcash payment intent", async () => { + const intent = await client.intent.create({ + amount: 10000, + payment_method_allowed: ["gcash"], + currency: "PHP", + description: "vitest - gcash", + }); + + const method = await client.method.create({ + type: "gcash", + }); + + const res = await client.intent.attach({ + intentId: intent.data.id, + methodId: method.data.id, + return_url: "https://example.com/success", + }); + + expect(res.data.id).toEqual(intent.data.id); + expect(res.data.attributes.next_action?.type).toEqual("redirect"); + expect(res.data.attributes.next_action?.redirect).toBeDefined(); + }); + + it("can attach to card payment intent", async () => { + const intent = await client.intent.create({ + amount: 10000, + payment_method_allowed: ["card"], + currency: "PHP", + description: "vitest - card", + }); + + const method = await client.method.create({ + type: "card", + details: testCards.visa, + }); + + const res = await client.intent.attach({ + intentId: intent.data.id, + methodId: method.data.id, + }); + + expect(res.data.id).toEqual(intent.data.id); + expect(res.data.attributes.payments).toBeDefined(); + }); + + it("can attach to dob payment intent", async () => { + const intent = await client.intent.create({ + amount: 10000, + payment_method_allowed: ["dob"], + currency: "PHP", + description: "vitest - dob", + }); + + const method = await client.method.create({ + type: "dob", + details: { ...testCards.visa, bank_code: "bpi" }, + }); + + const res = await client.intent.attach({ + intentId: intent.data.id, + methodId: method.data.id, + return_url: "https://example.com/success", + }); + + expect(res.data.id).toEqual(intent.data.id); + expect(res.data.attributes.next_action?.type).toEqual("redirect"); + expect(res.data.attributes.next_action?.redirect).toBeDefined(); + }); + + it("rejects on zod error", async () => { + const res = client.intent.attach({ + intentId: pi, + // @ts-expect-error - test file + methodId: 123, + }); + + await expect(res).rejects.toThrow(); + }); +}); + +describe.skip("retrieve payment intent", () => { it("can retrieve payment intent", async () => { const res = await client.intent.retrieve({ intentId: pi, From e75d02c9aed3f5d37164b17fd6365e48b0744c40 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 17:28:05 +0800 Subject: [PATCH 27/44] fix: remove skip --- test/intent.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/intent.test.ts b/test/intent.test.ts index 7e153ee..b66e835 100644 --- a/test/intent.test.ts +++ b/test/intent.test.ts @@ -8,7 +8,7 @@ const client = createPaymongoClient(key); let pi = ""; -describe.skip("create payment intent", () => { +describe("create payment intent", () => { it("can create payment intent", async () => { const res = await client.intent.create({ amount: 10000, @@ -113,7 +113,7 @@ describe("attach payment intent", () => { }); }); -describe.skip("retrieve payment intent", () => { +describe("retrieve payment intent", () => { it("can retrieve payment intent", async () => { const res = await client.intent.retrieve({ intentId: pi, From baf49414e70f0415f4cea5c55b47e30d708f9b91 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 18:22:44 +0800 Subject: [PATCH 28/44] chore: update readme --- README.md | 110 +++++++++++++++++++++------------------- src/api/links/create.ts | 3 ++ 2 files changed, 62 insertions(+), 51 deletions(-) create mode 100644 src/api/links/create.ts diff --git a/README.md b/README.md index c20fb16..df0c9ac 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # paymongo.js -![CI](https://github.com/princejoogie/paymongo.js/actions/workflows/main.yml/badge.svg) -![License](https://img.shields.io/badge/license-MIT-brightgreen?style=flat) -![Version](https://img.shields.io/github/v/release/princejoogie/paymongo.js?color=%2349C31B&include_prereleases&label=version) +![CI](https://img.shields.io/github/actions/workflow/status/princejoogie/paymongo.js/main.yml?label=CI&style=for-the-badge) +![License](https://img.shields.io/github/license/princejoogie/paymongo.js?style=for-the-badge) +![Size](https://img.shields.io/bundlephobia/minzip/paymongo.js?label=size&style=for-the-badge) +![Version](https://img.shields.io/github/package-json/v/princejoogie/paymongo.js?style=for-the-badge) An end-to-end typesafe library for [PayMongo.](https://www.paymongo.com/) @@ -11,7 +12,7 @@ An end-to-end typesafe library for [PayMongo.](https://www.paymongo.com/) [![NPM](https://nodei.co/npm/paymongo.js.png)](https://npmjs.org/package/paymongo.js) ```bash -npm install paymongo.js # or yarn add paymongo.js +npm install paymongo.js ``` ## Usage @@ -49,6 +50,7 @@ See [PaymentIntent Resource](https://developers.paymongo.com/reference/the-payme const res = await client.intent.attach({ intentId: "some_intent_id", intentId: "some_method_id", + return_url: "https://example.com/success", }); ``` @@ -91,9 +93,61 @@ See [PaymentMethod Resource](https://developers.paymongo.com/reference/the-payme - [**Retrieve a Method**](https://developers.paymongo.com/reference/create-a-paymentmethod) ```js - const retrieveResponse = await client.method.retrieve("some_method_id"); + const retrieveResponse = await client.method.retrieve({ + methodId: "some_method_id", + }); + ``` + +### Webhooks + +See [Webhook Resource](https://developers.paymongo.com/reference/webhook-resource) reference. + +- [**Create a Webhook**](https://developers.paymongo.com/reference/create-a-webhook) + + ```js + const webhook = await client.webhook.create({ + events: ["payment.failed", "payment.paid", "source.chargeable"], + url: "https://example.com/webhook", + }); + ``` + +- [**Update a Webhook**](https://developers.paymongo.com/reference/update-a-webhook) + + ```js + const webhook = await client.webhook.update({ + webhookId: "some_webhook_id", + events: ["payment.failed"], + }); + ``` + +- [**List all Webhooks**](https://developers.paymongo.com/reference/list-all-webhooks) + + ```js + const webhooks = await client.webhook.list(); + ``` + +- [**Retrieve a Webhook**](https://developers.paymongo.com/reference/retrieve-a-webhook) + + ```js + const webhook = await client.webhook.retrieve("some_webhook_id"); + ``` + +- [**Enable a Webhook**](https://developers.paymongo.com/reference/enable-a-webhook) + + ```js + const webhook = await client.webhook.enable("some_webhook_id"); + ``` + +- [**Disable a Webhook**](https://developers.paymongo.com/reference/disable-a-webhook) + + ```js + const webhook = await client.webhook.disable("some_webhook_id"); ``` +## Older APIs + +The following API's are for older workflows, it is recommended that you use the [Payment Intent workflow](https://developers.paymongo.com/docs/pipm-workflow) + ### Sources See [Source Resource](https://developers.paymongo.com/reference/the-sources-object) reference. @@ -146,52 +200,6 @@ See [Payment Resource](https://developers.paymongo.com/reference/payment-source) const p = await client.payment.retrieve("some_payment_id"); ``` -### Webhooks - -See [Webhook Resource](https://developers.paymongo.com/reference/webhook-resource) reference. - -- [**Create a Webhook**](https://developers.paymongo.com/reference/create-a-webhook) - - ```js - const webhook = await client.webhook.create({ - events: ["payment.failed", "payment.paid", "source.chargeable"], - url: "https://example.com/webhook", - }); - ``` - -- [**Update a Webhook**](https://developers.paymongo.com/reference/update-a-webhook) - - ```js - const webhook = await client.webhook.update({ - webhookId: "some_webhook_id", - events: ["payment.failed"], - }); - ``` - -- [**List all Webhooks**](https://developers.paymongo.com/reference/list-all-webhooks) - - ```js - const webhooks = await client.webhook.list(); - ``` - -- [**Retrieve a Webhook**](https://developers.paymongo.com/reference/retrieve-a-webhook) - - ```js - const webhook = await client.webhook.retrieve("some_webhook_id"); - ``` - -- [**Enable a Webhook**](https://developers.paymongo.com/reference/enable-a-webhook) - - ```js - const webhook = await client.webhook.enable("some_webhook_id"); - ``` - -- [**Disable a Webhook**](https://developers.paymongo.com/reference/disable-a-webhook) - - ```js - const webhook = await client.webhook.disable("some_webhook_id"); - ``` - --- ## Contributing diff --git a/src/api/links/create.ts b/src/api/links/create.ts new file mode 100644 index 0000000..aac7f65 --- /dev/null +++ b/src/api/links/create.ts @@ -0,0 +1,3 @@ +export const createLink = () => { + return "TODO"; +}; From 9fea6447014e99de24db51aff6a2b65d58da554c Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 18:27:31 +0800 Subject: [PATCH 29/44] chore: update npmignore --- .npmignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.npmignore b/.npmignore index 1ae6bd2..5b122c1 100644 --- a/.npmignore +++ b/.npmignore @@ -1,4 +1,3 @@ * !dist/* !package.json -!README.md From a239c80008436d0afdd1dbb46f998647617c8c17 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 22 Mar 2023 21:27:08 +0800 Subject: [PATCH 30/44] chore: finish this --- src/api/links/create.ts | 40 ++++++++++++++++++++++++++++++++++++-- src/api/links/types.ts | 43 +++++++++++++++++++++++++++++++++++++++++ src/client.ts | 11 ++++++++++- test/links.test.ts | 32 ++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 src/api/links/types.ts create mode 100644 test/links.test.ts diff --git a/src/api/links/create.ts b/src/api/links/create.ts index aac7f65..4bc418b 100644 --- a/src/api/links/create.ts +++ b/src/api/links/create.ts @@ -1,3 +1,39 @@ -export const createLink = () => { - return "TODO"; +import { z } from "zod"; + +/* import { PaymentIntentOutput, } from "./types"; */ +import { api } from "../base"; +import { handleError } from "../../utils/handle-error"; + +export const linkCreateInputSchema = z.object({ + amount: z.number().min(0), + description: z.string(), + remarks: z.string().optional(), +}); + +export type LinkCreateInput = z.infer; + +/** + * # Create a Link + * @link https://developers.paymongo.com/reference/create-a-link + * + * @example + * ```js + * const intent = await client.intent.create({ + * amount: 10000, + * payment_method_allowed: ["card", "gcash"], + * currency: "PHP", + * }); + * ``` + */ +export const createLink = async (input: LinkCreateInput) => { + try { + const parsedInput = linkCreateInputSchema.parse(input); + const res = await api.post("/links", { + data: { attributes: parsedInput }, + }); + return res.data; + /* return paymentIntentOutputSchema.parse(res.data); */ + } catch (e) { + return handleError(e); + } }; diff --git a/src/api/links/types.ts b/src/api/links/types.ts new file mode 100644 index 0000000..bb7370f --- /dev/null +++ b/src/api/links/types.ts @@ -0,0 +1,43 @@ +import {z} from "zod"; + +// TODO: Finsih this +export const linkOutputSchema = z.object({ + data: z.object({ + id: z.string(), + type: z.enum(["link"]), + attributes: z.object({ + amount: z.number().min(10000), + archived: z.boolean(), + currency: z.enum(["PHP"]), + description: z.string(), + livemode: z.boolean(), + fee: z.number(), + remarks: z.string().nullable(), + status: z.enum(["unpaid"]), + }) + }) +}); + +// { +// "data": { +// "id": "link_gTHxfFE5uRkiYgUjBcFbZF1g", +// "type": "link", +// "attributes": { +// "amount": 10000, +// "archived": false, +// "currency": "PHP", +// "description": "vitest - link create", +// "livemode": false, +// "fee": 0, +// "remarks": null, +// "status": "unpaid", +// "tax_amount": null, +// "taxes": [], +// "checkout_url": "https://pm.link/joogie/test/1EeoT5R", +// "reference_number": "1EeoT5R", +// "created_at": 1679488512, +// "updated_at": 1679488512, +// "payments": [] +// } +// } +// } diff --git a/src/client.ts b/src/client.ts index 521c28a..3e281f3 100644 --- a/src/client.ts +++ b/src/client.ts @@ -7,6 +7,8 @@ import { attachToPaymentIntent } from "./api/intent/attach"; import { createPaymentMethod } from "./api/method/create"; import { retrievePaymentMethod } from "./api/method/retrieve"; +import { createLink } from "./api/links/create"; + export const createPaymongoClient = (key: string) => { api.defaults.auth = { username: key, @@ -21,7 +23,7 @@ export const createPaymongoClient = (key: string) => { intent: { create: createPaymentIntent, retrieve: retrievePaymentIntent, - attach: attachToPaymentIntent + attach: attachToPaymentIntent, }, /** * # PaymentMethod Resource @@ -31,5 +33,12 @@ export const createPaymongoClient = (key: string) => { create: createPaymentMethod, retrieve: retrievePaymentMethod, }, + /** + * # Links Resource + * @link https://developers.paymongo.com/reference/links-resource + */ + links: { + create: createLink, + }, }; }; diff --git a/test/links.test.ts b/test/links.test.ts new file mode 100644 index 0000000..566692d --- /dev/null +++ b/test/links.test.ts @@ -0,0 +1,32 @@ +import "dotenv/config"; +import { it, expect, describe } from "vitest"; +import { createPaymongoClient } from "../src"; + +const key = process.env.PM_SECRET_KEY as string; +const client = createPaymongoClient(key); + +describe("create payment link", () => { + it("can create a payment link", async () => { + const res = await client.links.create({ + amount: 10000, + description: "vitest - link create", + }); + console.log(JSON.stringify(res, null, 2)); + }); + + it("rejects on zod error", async () => { + const res = client.intent.create({ + amount: 10000, + payment_method_allowed: ["card", "gcash"], + // @ts-expect-error - test file + currency: "USD", + }); + + await expect(res).rejects.toThrow(); + }); +}); + +describe.skip("retrieve payment intent", () => { + /* it("can retrieve payment link", async () => {}); */ + /* it("rejects on not found", async () => {}); */ +}); From 3c1f55bb72bb26d2922c347f2e1348606fbb7698 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Thu, 23 Mar 2023 07:23:53 +0800 Subject: [PATCH 31/44] chore: add example folder --- example/.env.example | 14 + example/.eslintrc.cjs | 35 + example/.gitignore | 42 + example/README.md | 28 + example/next.config.mjs | 22 + example/package.json | 37 + example/pnpm-lock.yaml | 2680 ++++++++++++++++++++++++++++++++ example/postcss.config.cjs | 8 + example/prettier.config.cjs | 6 + example/public/favicon.ico | Bin 0 -> 15406 bytes example/src/env.mjs | 74 + example/src/pages/_app.tsx | 9 + example/src/pages/index.tsx | 48 + example/src/styles/globals.css | 3 + example/tailwind.config.cjs | 10 + example/tsconfig.json | 33 + src/api/links/types.ts | 8 +- src/index.ts | 14 +- 18 files changed, 3062 insertions(+), 9 deletions(-) create mode 100644 example/.env.example create mode 100644 example/.eslintrc.cjs create mode 100644 example/.gitignore create mode 100644 example/README.md create mode 100644 example/next.config.mjs create mode 100644 example/package.json create mode 100644 example/pnpm-lock.yaml create mode 100644 example/postcss.config.cjs create mode 100644 example/prettier.config.cjs create mode 100644 example/public/favicon.ico create mode 100644 example/src/env.mjs create mode 100644 example/src/pages/_app.tsx create mode 100644 example/src/pages/index.tsx create mode 100644 example/src/styles/globals.css create mode 100644 example/tailwind.config.cjs create mode 100644 example/tsconfig.json diff --git a/example/.env.example b/example/.env.example new file mode 100644 index 0000000..3fcccc6 --- /dev/null +++ b/example/.env.example @@ -0,0 +1,14 @@ +# Since the ".env" file is gitignored, you can use the ".env.example" file to +# build a new ".env" file when you clone the repo. Keep this file up-to-date +# when you add new variables to `.env`. + +# This file will be committed to version control, so make sure not to have any +# secrets in it. If you are cloning this repo, create a copy of this file named +# ".env" and populate it with your secrets. + +# When adding additional environment variables, the schema in "/src/env.mjs" +# should be updated accordingly. + +# Example: +# SERVERVAR="foo" +# NEXT_PUBLIC_CLIENTVAR="bar" diff --git a/example/.eslintrc.cjs b/example/.eslintrc.cjs new file mode 100644 index 0000000..8b7a0e8 --- /dev/null +++ b/example/.eslintrc.cjs @@ -0,0 +1,35 @@ +// eslint-disable-next-line @typescript-eslint/no-var-requires +const path = require("path"); + +/** @type {import("eslint").Linter.Config} */ +const config = { + overrides: [ + { + extends: [ + "plugin:@typescript-eslint/recommended-requiring-type-checking", + ], + files: ["*.ts", "*.tsx"], + parserOptions: { + project: path.join(__dirname, "tsconfig.json"), + }, + }, + ], + parser: "@typescript-eslint/parser", + parserOptions: { + project: path.join(__dirname, "tsconfig.json"), + }, + plugins: ["@typescript-eslint"], + extends: ["next/core-web-vitals", "plugin:@typescript-eslint/recommended"], + rules: { + "@typescript-eslint/consistent-type-imports": [ + "warn", + { + prefer: "type-imports", + fixStyle: "inline-type-imports", + }, + ], + "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }], + }, +}; + +module.exports = config; diff --git a/example/.gitignore b/example/.gitignore new file mode 100644 index 0000000..2971a0b --- /dev/null +++ b/example/.gitignore @@ -0,0 +1,42 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# database +/prisma/db.sqlite +/prisma/db.sqlite-journal + +# next.js +/.next/ +/out/ +next-env.d.ts + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables +.env +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo diff --git a/example/README.md b/example/README.md new file mode 100644 index 0000000..fba19ed --- /dev/null +++ b/example/README.md @@ -0,0 +1,28 @@ +# Create T3 App + +This is a [T3 Stack](https://create.t3.gg/) project bootstrapped with `create-t3-app`. + +## What's next? How do I make an app with this? + +We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary. + +If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help. + +- [Next.js](https://nextjs.org) +- [NextAuth.js](https://next-auth.js.org) +- [Prisma](https://prisma.io) +- [Tailwind CSS](https://tailwindcss.com) +- [tRPC](https://trpc.io) + +## Learn More + +To learn more about the [T3 Stack](https://create.t3.gg/), take a look at the following resources: + +- [Documentation](https://create.t3.gg/) +- [Learn the T3 Stack](https://create.t3.gg/en/faq#what-learning-resources-are-currently-available) — Check out these awesome tutorials + +You can check out the [create-t3-app GitHub repository](https://github.com/t3-oss/create-t3-app) — your feedback and contributions are welcome! + +## How do I deploy this? + +Follow our deployment guides for [Vercel](https://create.t3.gg/en/deployment/vercel), [Netlify](https://create.t3.gg/en/deployment/netlify) and [Docker](https://create.t3.gg/en/deployment/docker) for more information. diff --git a/example/next.config.mjs b/example/next.config.mjs new file mode 100644 index 0000000..f9b4e26 --- /dev/null +++ b/example/next.config.mjs @@ -0,0 +1,22 @@ +/** + * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. + * This is especially useful for Docker builds. + */ +!process.env.SKIP_ENV_VALIDATION && (await import("./src/env.mjs")); + +/** @type {import("next").NextConfig} */ +const config = { + reactStrictMode: true, + + /** + * If you have the "experimental: { appDir: true }" setting enabled, then you + * must comment the below `i18n` config out. + * + * @see https://github.com/vercel/next.js/issues/41980 + */ + i18n: { + locales: ["en"], + defaultLocale: "en", + }, +}; +export default config; diff --git a/example/package.json b/example/package.json new file mode 100644 index 0000000..b42ec5d --- /dev/null +++ b/example/package.json @@ -0,0 +1,37 @@ +{ + "name": "example", + "version": "0.1.0", + "private": true, + "scripts": { + "build": "next build", + "dev": "next dev", + "lint": "next lint", + "start": "next start" + }, + "dependencies": { + "next": "^13.2.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "zod": "^3.20.6" + }, + "devDependencies": { + "@types/eslint": "^8.21.1", + "@types/node": "^18.14.0", + "@types/prettier": "^2.7.2", + "@types/react": "^18.0.28", + "@types/react-dom": "^18.0.11", + "@typescript-eslint/eslint-plugin": "^5.53.0", + "@typescript-eslint/parser": "^5.53.0", + "autoprefixer": "^10.4.7", + "eslint": "^8.34.0", + "eslint-config-next": "^13.2.1", + "postcss": "^8.4.14", + "prettier": "^2.8.1", + "prettier-plugin-tailwindcss": "^0.2.1", + "tailwindcss": "^3.2.0", + "typescript": "^4.9.5" + }, + "ct3aMetadata": { + "initVersion": "7.8.0" + } +} diff --git a/example/pnpm-lock.yaml b/example/pnpm-lock.yaml new file mode 100644 index 0000000..45f0642 --- /dev/null +++ b/example/pnpm-lock.yaml @@ -0,0 +1,2680 @@ +lockfileVersion: 5.4 + +specifiers: + '@types/eslint': ^8.21.1 + '@types/node': ^18.14.0 + '@types/prettier': ^2.7.2 + '@types/react': ^18.0.28 + '@types/react-dom': ^18.0.11 + '@typescript-eslint/eslint-plugin': ^5.53.0 + '@typescript-eslint/parser': ^5.53.0 + autoprefixer: ^10.4.7 + eslint: ^8.34.0 + eslint-config-next: ^13.2.1 + next: ^13.2.1 + postcss: ^8.4.14 + prettier: ^2.8.1 + prettier-plugin-tailwindcss: ^0.2.1 + react: 18.2.0 + react-dom: 18.2.0 + tailwindcss: ^3.2.0 + typescript: ^4.9.5 + zod: ^3.20.6 + +dependencies: + next: 13.2.4_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zod: 3.21.4 + +devDependencies: + '@types/eslint': 8.21.3 + '@types/node': 18.15.5 + '@types/prettier': 2.7.2 + '@types/react': 18.0.28 + '@types/react-dom': 18.0.11 + '@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + autoprefixer: 10.4.14_postcss@8.4.21 + eslint: 8.36.0 + eslint-config-next: 13.2.4_vgl77cfdswitgr47lm5swmv43m + postcss: 8.4.21 + prettier: 2.8.6 + prettier-plugin-tailwindcss: 0.2.5_prettier@2.8.6 + tailwindcss: 3.2.7_postcss@8.4.21 + typescript: 4.9.5 + +packages: + + /@babel/runtime/7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@eslint-community/eslint-utils/4.3.0_eslint@8.36.0: + resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.36.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /@eslint-community/regexpp/4.4.0: + resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc/2.0.1: + resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.0 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js/8.36.0: + resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@next/env/13.2.4: + resolution: {integrity: sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==} + dev: false + + /@next/eslint-plugin-next/13.2.4: + resolution: {integrity: sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==} + dependencies: + glob: 7.1.7 + dev: true + + /@next/swc-android-arm-eabi/13.2.4: + resolution: {integrity: sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@next/swc-android-arm64/13.2.4: + resolution: {integrity: sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-arm64/13.2.4: + resolution: {integrity: sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64/13.2.4: + resolution: {integrity: sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-freebsd-x64/13.2.4: + resolution: {integrity: sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm-gnueabihf/13.2.4: + resolution: {integrity: sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu/13.2.4: + resolution: {integrity: sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl/13.2.4: + resolution: {integrity: sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu/13.2.4: + resolution: {integrity: sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl/13.2.4: + resolution: {integrity: sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc/13.2.4: + resolution: {integrity: sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc/13.2.4: + resolution: {integrity: sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc/13.2.4: + resolution: {integrity: sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@pkgr/utils/2.3.1: + resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + is-glob: 4.0.3 + open: 8.4.2 + picocolors: 1.0.0 + tiny-glob: 0.2.9 + tslib: 2.5.0 + dev: true + + /@rushstack/eslint-patch/1.2.0: + resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} + dev: true + + /@swc/helpers/0.4.14: + resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + dependencies: + tslib: 2.5.0 + dev: false + + /@types/eslint/8.21.3: + resolution: {integrity: sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==} + dependencies: + '@types/estree': 1.0.0 + '@types/json-schema': 7.0.11 + dev: true + + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + dev: true + + /@types/json-schema/7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: true + + /@types/json5/0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/node/18.15.5: + resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} + dev: true + + /@types/prettier/2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + + /@types/prop-types/15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: true + + /@types/react-dom/18.0.11: + resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} + dependencies: + '@types/react': 18.0.28 + dev: true + + /@types/react/18.0.28: + resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.1 + dev: true + + /@types/scheduler/0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: true + + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + + /@typescript-eslint/eslint-plugin/5.56.0_iskin7c6dxqunwflhstekcjqmq: + resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.4.0 + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/scope-manager': 5.56.0 + '@typescript-eslint/type-utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + debug: 4.3.4 + eslint: 8.36.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.3.8 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.56.0_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.56.0 + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + debug: 4.3.4 + eslint: 8.36.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.56.0: + resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/visitor-keys': 5.56.0 + dev: true + + /@typescript-eslint/type-utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + debug: 4.3.4 + eslint: 8.36.0 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.56.0: + resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.56.0_typescript@4.9.5: + resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/visitor-keys': 5.56.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.8 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.56.0 + '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + eslint: 8.36.0 + eslint-scope: 5.1.1 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.56.0: + resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.56.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /acorn-jsx/5.3.2_acorn@8.8.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + dev: true + + /acorn-node/1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + dev: true + + /acorn-walk/7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query/5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.0 + dev: true + + /array-buffer-byte-length/1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + + /array-includes/3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.0 + is-string: 1.0.7 + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.flat/1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.flatmap/1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.tosorted/1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.0 + dev: true + + /ast-types-flow/0.0.7: + resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + dev: true + + /autoprefixer/10.4.14_postcss@8.4.21: + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.5 + caniuse-lite: 1.0.30001469 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axe-core/4.6.3: + resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} + engines: {node: '>=4'} + dev: true + + /axobject-query/3.1.1: + resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} + dependencies: + deep-equal: 2.2.0 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist/4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001469 + electron-to-chromium: 1.4.336 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10_browserslist@4.21.5 + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + + /caniuse-lite/1.0.30001469: + resolution: {integrity: sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==} + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /client-only/0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csstype/3.1.1: + resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + dev: true + + /damerau-levenshtein/1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-equal/2.2.0: + resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} + dependencies: + call-bind: 1.0.2 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.0 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.9 + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-properties/1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /defined/1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + dev: true + + /detective/5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + acorn-node: 1.8.2 + defined: 1.0.1 + minimist: 1.2.8 + dev: true + + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /electron-to-chromium/1.4.336: + resolution: {integrity: sha512-yLaoSY/ngjgRpEGU4ueeW0vlj456idQBn74r6s1yutoOIadvd7rwt05TGenPj0PoetJ5pEHomVkmfTdIgqPfJw==} + dev: true + + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /enhanced-resolve/5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /es-abstract/1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + dev: true + + /es-get-iterator/1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: true + + /es-set-tostringtag/2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-next/13.2.4_vgl77cfdswitgr47lm5swmv43m: + resolution: {integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 13.2.4 + '@rushstack/eslint-patch': 1.2.0 + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + eslint: 8.36.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy + eslint-plugin-import: 2.27.5_as6wyplljmmarlclp2tx3tj6rq + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.36.0 + eslint-plugin-react: 7.32.2_eslint@8.36.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.36.0 + typescript: 4.9.5 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-import-resolver-node/0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + dependencies: + debug: 3.2.7 + is-core-module: 2.11.0 + resolve: 1.22.1 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-import-resolver-typescript/3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy: + resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.12.0 + eslint: 8.36.0 + eslint-plugin-import: 2.27.5_as6wyplljmmarlclp2tx3tj6rq + get-tsconfig: 4.4.0 + globby: 13.1.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils/2.7.4_ab4tb467oik4rhsaavmctlutka: + resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + debug: 3.2.7 + eslint: 8.36.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import/2.27.5_as6wyplljmmarlclp2tx3tj6rq: + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.36.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.7.4_ab4tb467oik4rhsaavmctlutka + has: 1.0.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.6 + resolve: 1.22.1 + semver: 6.3.0 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsx-a11y/6.7.1_eslint@8.36.0: + resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.21.0 + aria-query: 5.1.3 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + ast-types-flow: 0.0.7 + axe-core: 4.6.3 + axobject-query: 3.1.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 8.36.0 + has: 1.0.3 + jsx-ast-utils: 3.3.3 + language-tags: 1.0.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + semver: 6.3.0 + dev: true + + /eslint-plugin-react-hooks/4.6.0_eslint@8.36.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.36.0 + dev: true + + /eslint-plugin-react/7.32.2_eslint@8.36.0: + resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 8.36.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.3 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.0 + string.prototype.matchall: 4.0.8 + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.36.0: + resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@eslint-community/regexpp': 4.4.0 + '@eslint/eslintrc': 2.0.1 + '@eslint/js': 8.36.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.3.0 + espree: 9.5.0 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree/9.5.0: + resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2_acorn@8.8.2 + eslint-visitor-keys: 3.3.0 + dev: true + + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: true + + /flatted/3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /function.prototype.name/1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /get-intrinsic/1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + dev: true + + /get-tsconfig/4.4.0: + resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: true + + /globalyzer/0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby/13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /globrex/0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.0 + dev: true + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.0 + dev: true + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot/1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + dev: true + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-map/2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-set/2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array/1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /is-weakmap/2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-weakset/2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + dev: true + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /js-sdsl/4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /jsx-ast-utils/3.3.3: + resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.6 + object.assign: 4.1.4 + dev: true + + /language-subtag-registry/0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: true + + /language-tags/1.0.5: + resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} + dependencies: + language-subtag-registry: 0.3.22 + dev: true + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /loose-envify/1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /next/13.2.4_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==} + engines: {node: '>=14.6.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.4.0 + fibers: '>= 3.1.0' + node-sass: ^6.0.0 || ^7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + '@next/env': 13.2.4 + '@swc/helpers': 0.4.14 + caniuse-lite: 1.0.30001469 + postcss: 8.4.14 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + styled-jsx: 5.1.1_react@18.2.0 + optionalDependencies: + '@next/swc-android-arm-eabi': 13.2.4 + '@next/swc-android-arm64': 13.2.4 + '@next/swc-darwin-arm64': 13.2.4 + '@next/swc-darwin-x64': 13.2.4 + '@next/swc-freebsd-x64': 13.2.4 + '@next/swc-linux-arm-gnueabihf': 13.2.4 + '@next/swc-linux-arm64-gnu': 13.2.4 + '@next/swc-linux-arm64-musl': 13.2.4 + '@next/swc-linux-x64-gnu': 13.2.4 + '@next/swc-linux-x64-musl': 13.2.4 + '@next/swc-win32-arm64-msvc': 13.2.4 + '@next/swc-win32-ia32-msvc': 13.2.4 + '@next/swc-win32-x64-msvc': 13.2.4 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /node-releases/2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + + /object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /object-is/1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign/4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries/1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.fromentries/2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.hasown/1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + dependencies: + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.values/1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /open/8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /postcss-import/14.1.0_postcss@8.4.21: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: true + + /postcss-js/4.0.1_postcss@8.4.21: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.21 + dev: true + + /postcss-load-config/3.1.4_postcss@8.4.21: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.21 + yaml: 1.10.2 + dev: true + + /postcss-nested/6.0.0_postcss@8.4.21: + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss/8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-plugin-tailwindcss/0.2.5_prettier@2.8.6: + resolution: {integrity: sha512-vZ/iKieyCx0WTxHbkf5E1rBlv/ybFk8WTT4hL5W2jlVxum2Zbe0jMUpuQdDrpa4z2vnPiJ5KIWCqL/kd16fKYg==} + engines: {node: '>=12.17.0'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-php': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@shufo/prettier-plugin-blade': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: '>=2.2.0' + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-php': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@shufo/prettier-plugin-blade': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + dependencies: + prettier: 2.8.6 + dev: true + + /prettier/2.8.6: + resolution: {integrity: sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prop-types/15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: true + + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /react-dom/18.2.0_react@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-is/16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true + + /react/18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regexp.prototype.flags/1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: true + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve/2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + dev: true + + /scheduler/0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slash/4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /stop-iteration-iterator/1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.5 + dev: true + + /string.prototype.matchall/4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim/1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimend/1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimstart/1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /styled-jsx/5.1.1_react@18.2.0: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit/0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.3.1 + tslib: 2.5.0 + dev: true + + /tailwindcss/3.2.7_postcss@8.4.21: + resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} + engines: {node: '>=12.13.0'} + hasBin: true + peerDependencies: + postcss: ^8.0.9 + dependencies: + arg: 5.0.2 + chokidar: 3.5.3 + color-name: 1.1.4 + detective: 5.2.1 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.12 + glob-parent: 6.0.2 + is-glob: 4.0.3 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-import: 14.1.0_postcss@8.4.21 + postcss-js: 4.0.1_postcss@8.4.21 + postcss-load-config: 3.1.4_postcss@8.4.21 + postcss-nested: 6.0.0_postcss@8.4.21 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + quick-lru: 5.1.1 + resolve: 1.22.1 + transitivePeerDependencies: + - ts-node + dev: true + + /tapable/2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /tiny-glob/0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tsconfig-paths/3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + + /tsutils/3.21.0_typescript@4.9.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + dev: true + + /typescript/4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /update-browserslist-db/1.0.10_browserslist@4.21.5: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-collection/1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array/1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zod/3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + dev: false diff --git a/example/postcss.config.cjs b/example/postcss.config.cjs new file mode 100644 index 0000000..e305dd9 --- /dev/null +++ b/example/postcss.config.cjs @@ -0,0 +1,8 @@ +const config = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; + +module.exports = config; diff --git a/example/prettier.config.cjs b/example/prettier.config.cjs new file mode 100644 index 0000000..ca28ed9 --- /dev/null +++ b/example/prettier.config.cjs @@ -0,0 +1,6 @@ +/** @type {import("prettier").Config} */ +const config = { + plugins: [require.resolve("prettier-plugin-tailwindcss")], +}; + +module.exports = config; diff --git a/example/public/favicon.ico b/example/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..60c702aac13409c82c4040f8fee9603eb84aa10c GIT binary patch literal 15406 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 A#Q*>R literal 0 HcmV?d00001 diff --git a/example/src/env.mjs b/example/src/env.mjs new file mode 100644 index 0000000..38e38da --- /dev/null +++ b/example/src/env.mjs @@ -0,0 +1,74 @@ +import { z } from "zod"; + +/** + * Specify your server-side environment variables schema here. This way you can ensure the app isn't + * built with invalid env vars. + */ +const server = z.object({ + NODE_ENV: z.enum(["development", "test", "production"]), +}); + +/** + * Specify your client-side environment variables schema here. This way you can ensure the app isn't + * built with invalid env vars. To expose them to the client, prefix them with `NEXT_PUBLIC_`. + */ +const client = z.object({ + // NEXT_PUBLIC_CLIENTVAR: z.string().min(1), +}); + +/** + * You can't destruct `process.env` as a regular object in the Next.js edge runtimes (e.g. + * middlewares) or client-side so we need to destruct manually. + * + * @type {Record | keyof z.infer, string | undefined>} + */ +const processEnv = { + NODE_ENV: process.env.NODE_ENV, + // NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR, +}; + +// Don't touch the part below +// -------------------------- + +const merged = server.merge(client); + +/** @typedef {z.input} MergedInput */ +/** @typedef {z.infer} MergedOutput */ +/** @typedef {z.SafeParseReturnType} MergedSafeParseReturn */ + +let env = /** @type {MergedOutput} */ (process.env); + +if (!!process.env.SKIP_ENV_VALIDATION == false) { + const isServer = typeof window === "undefined"; + + const parsed = /** @type {MergedSafeParseReturn} */ ( + isServer + ? merged.safeParse(processEnv) // on server we can validate all env vars + : client.safeParse(processEnv) // on client we can only validate the ones that are exposed + ); + + if (parsed.success === false) { + console.error( + "❌ Invalid environment variables:", + parsed.error.flatten().fieldErrors, + ); + throw new Error("Invalid environment variables"); + } + + env = new Proxy(parsed.data, { + get(target, prop) { + if (typeof prop !== "string") return undefined; + // Throw a descriptive error if a server-side env var is accessed on the client + // Otherwise it would just be returning `undefined` and be annoying to debug + if (!isServer && !prop.startsWith("NEXT_PUBLIC_")) + throw new Error( + process.env.NODE_ENV === "production" + ? "❌ Attempted to access a server-side environment variable on the client" + : `❌ Attempted to access server-side environment variable '${prop}' on the client`, + ); + return target[/** @type {keyof typeof target} */ (prop)]; + }, + }); +} + +export { env }; diff --git a/example/src/pages/_app.tsx b/example/src/pages/_app.tsx new file mode 100644 index 0000000..d280cbd --- /dev/null +++ b/example/src/pages/_app.tsx @@ -0,0 +1,9 @@ +import { type AppType } from "next/dist/shared/lib/utils"; + +import "~/styles/globals.css"; + +const MyApp: AppType = ({ Component, pageProps }) => { + return ; +}; + +export default MyApp; diff --git a/example/src/pages/index.tsx b/example/src/pages/index.tsx new file mode 100644 index 0000000..5513c42 --- /dev/null +++ b/example/src/pages/index.tsx @@ -0,0 +1,48 @@ +import { type NextPage } from "next"; +import Head from "next/head"; +import Link from "next/link"; + +const Home: NextPage = () => { + return ( + <> + + Create T3 App + + + +
+
+

+ Create T3 App +

+
+ +

First Steps →

+
+ Just the basics - Everything you need to know to set up your + database and authentication. +
+ + +

Documentation →

+
+ Learn more about Create T3 App, the libraries it uses, and how + to deploy it. +
+ +
+
+
+ + ); +}; + +export default Home; diff --git a/example/src/styles/globals.css b/example/src/styles/globals.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/example/src/styles/globals.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/example/tailwind.config.cjs b/example/tailwind.config.cjs new file mode 100644 index 0000000..a82e7e9 --- /dev/null +++ b/example/tailwind.config.cjs @@ -0,0 +1,10 @@ +/** @type {import('tailwindcss').Config} */ +const config = { + content: ["./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [], +}; + +module.exports = config; diff --git a/example/tsconfig.json b/example/tsconfig.json new file mode 100644 index 0000000..03ebb74 --- /dev/null +++ b/example/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "es2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "checkJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "noUncheckedIndexedAccess": true, + "baseUrl": ".", + "paths": { + "~/*": ["./src/*"] + } + }, + "include": [ + ".eslintrc.cjs", + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + "**/*.cjs", + "**/*.mjs" + ], + "exclude": ["node_modules"] +} diff --git a/src/api/links/types.ts b/src/api/links/types.ts index bb7370f..23426bc 100644 --- a/src/api/links/types.ts +++ b/src/api/links/types.ts @@ -1,4 +1,4 @@ -import {z} from "zod"; +import { z } from "zod"; // TODO: Finsih this export const linkOutputSchema = z.object({ @@ -14,10 +14,12 @@ export const linkOutputSchema = z.object({ fee: z.number(), remarks: z.string().nullable(), status: z.enum(["unpaid"]), - }) - }) + }), + }), }); +export type LinkOutput = z.infer; + // { // "data": { // "id": "link_gTHxfFE5uRkiYgUjBcFbZF1g", diff --git a/src/index.ts b/src/index.ts index fd3d10e..0376850 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,9 +1,11 @@ export { createPaymongoClient } from "./client"; -export type { PaymentIntentOutput } from "./api/intent/types"; -export type { PaymentIntentCreateInput } from "./api/intent/create"; -export type { PaymentIntentRetrieveInput } from "./api/intent/retrieve"; +export type { PaymentIntentOutput, paymentIntentOutputSchema } from "./api/intent/types"; +export type { PaymentIntentCreateInput, paymentIntentCreateInputSchema } from "./api/intent/create"; +export type { PaymentIntentRetrieveInput, paymentIntentRetrieveInputSchema } from "./api/intent/retrieve"; -export type { PaymentMethodOutput } from "./api/method/types"; -export type { PaymentMethodCreateInput } from "./api/method/create"; -export type { PaymentMethodRetrieveInput } from "./api/method/retrieve"; +export type { PaymentMethodOutput, paymentMethodOutputSchema } from "./api/method/types"; +export type { PaymentMethodCreateInput, paymentMethodCreateInputSchema } from "./api/method/create"; +export type { PaymentMethodRetrieveInput,paymentMethodRetrieveInputSchema } from "./api/method/retrieve"; + +export type { LinkOutput, linkOutputSchema } from "./api/links/types"; From 3709d23a55859a53d7de5045639bfb3812dbec64 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Thu, 23 Mar 2023 10:07:36 +0800 Subject: [PATCH 32/44] chore: add step in example --- example/.env.example | 3 +- example/README.md | 25 +-- example/package.json | 2 + example/pnpm-lock.yaml | 35 +++++ example/src/components/container.tsx | 18 +++ example/src/env.mjs | 6 +- example/src/lib/paymongo.ts | 5 + .../src/pages/api/payment/create-intent.ts | 24 +++ example/src/pages/index.tsx | 145 ++++++++++++++---- example/src/styles/globals.css | 1 + src/index.ts | 14 +- 11 files changed, 212 insertions(+), 66 deletions(-) create mode 100644 example/src/components/container.tsx create mode 100644 example/src/lib/paymongo.ts create mode 100644 example/src/pages/api/payment/create-intent.ts diff --git a/example/.env.example b/example/.env.example index 3fcccc6..560227d 100644 --- a/example/.env.example +++ b/example/.env.example @@ -10,5 +10,4 @@ # should be updated accordingly. # Example: -# SERVERVAR="foo" -# NEXT_PUBLIC_CLIENTVAR="bar" +PAYMONGO_SECRET_KEY="" diff --git a/example/README.md b/example/README.md index fba19ed..dbc94fe 100644 --- a/example/README.md +++ b/example/README.md @@ -1,27 +1,6 @@ -# Create T3 App +# paymongo.js example app -This is a [T3 Stack](https://create.t3.gg/) project bootstrapped with `create-t3-app`. - -## What's next? How do I make an app with this? - -We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary. - -If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help. - -- [Next.js](https://nextjs.org) -- [NextAuth.js](https://next-auth.js.org) -- [Prisma](https://prisma.io) -- [Tailwind CSS](https://tailwindcss.com) -- [tRPC](https://trpc.io) - -## Learn More - -To learn more about the [T3 Stack](https://create.t3.gg/), take a look at the following resources: - -- [Documentation](https://create.t3.gg/) -- [Learn the T3 Stack](https://create.t3.gg/en/faq#what-learning-resources-are-currently-available) — Check out these awesome tutorials - -You can check out the [create-t3-app GitHub repository](https://github.com/t3-oss/create-t3-app) — your feedback and contributions are welcome! +This is a Next.js application ## How do I deploy this? diff --git a/example/package.json b/example/package.json index b42ec5d..33b5181 100644 --- a/example/package.json +++ b/example/package.json @@ -9,7 +9,9 @@ "start": "next start" }, "dependencies": { + "framer-motion": "^10.8.5", "next": "^13.2.1", + "paymongo.js": "link:../dist", "react": "18.2.0", "react-dom": "18.2.0", "zod": "^3.20.6" diff --git a/example/pnpm-lock.yaml b/example/pnpm-lock.yaml index 45f0642..8a607a3 100644 --- a/example/pnpm-lock.yaml +++ b/example/pnpm-lock.yaml @@ -11,7 +11,9 @@ specifiers: autoprefixer: ^10.4.7 eslint: ^8.34.0 eslint-config-next: ^13.2.1 + framer-motion: ^10.8.5 next: ^13.2.1 + paymongo.js: link:../dist postcss: ^8.4.14 prettier: ^2.8.1 prettier-plugin-tailwindcss: ^0.2.1 @@ -22,7 +24,9 @@ specifiers: zod: ^3.20.6 dependencies: + framer-motion: 10.8.5_biqbaboplfbrettd7655fr4n2y next: 13.2.4_biqbaboplfbrettd7655fr4n2y + paymongo.js: link:../dist react: 18.2.0 react-dom: 18.2.0_react@18.2.0 zod: 3.21.4 @@ -53,6 +57,19 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@emotion/is-prop-valid/0.8.8: + resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} + requiresBuild: true + dependencies: + '@emotion/memoize': 0.7.4 + dev: false + optional: true + + /@emotion/memoize/0.7.4: + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} + dev: false + optional: true + /@eslint-community/eslint-utils/4.3.0_eslint@8.36.0: resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1313,6 +1330,24 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true + /framer-motion/10.8.5_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-qwvUAIwCc6fEZhg7ST+/z+f7Vt882jJvLiWZUHNdq2oZ/Y7gM6mLlpKi9xQg+pLu6DQVypikcKQ+MKnoFoXAJg==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + tslib: 2.5.0 + optionalDependencies: + '@emotion/is-prop-valid': 0.8.8 + dev: false + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true diff --git a/example/src/components/container.tsx b/example/src/components/container.tsx new file mode 100644 index 0000000..22f6882 --- /dev/null +++ b/example/src/components/container.tsx @@ -0,0 +1,18 @@ +import { ReactNode, DetailedHTMLProps, HTMLAttributes } from "react"; + +interface ContainerProps + extends DetailedHTMLProps, HTMLDivElement> { + children: ReactNode; +} + +export const Container = ({ + children, + className = "", + ...rest +}: ContainerProps) => { + return ( +
+ {children} +
+ ); +}; diff --git a/example/src/env.mjs b/example/src/env.mjs index 38e38da..229bb5a 100644 --- a/example/src/env.mjs +++ b/example/src/env.mjs @@ -6,6 +6,7 @@ import { z } from "zod"; */ const server = z.object({ NODE_ENV: z.enum(["development", "test", "production"]), + PAYMONGO_SECRET_KEY: z.string().min(1), }); /** @@ -24,6 +25,7 @@ const client = z.object({ */ const processEnv = { NODE_ENV: process.env.NODE_ENV, + PAYMONGO_SECRET_KEY: process.env.PAYMONGO_SECRET_KEY, // NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR, }; @@ -50,7 +52,7 @@ if (!!process.env.SKIP_ENV_VALIDATION == false) { if (parsed.success === false) { console.error( "❌ Invalid environment variables:", - parsed.error.flatten().fieldErrors, + parsed.error.flatten().fieldErrors ); throw new Error("Invalid environment variables"); } @@ -64,7 +66,7 @@ if (!!process.env.SKIP_ENV_VALIDATION == false) { throw new Error( process.env.NODE_ENV === "production" ? "❌ Attempted to access a server-side environment variable on the client" - : `❌ Attempted to access server-side environment variable '${prop}' on the client`, + : `❌ Attempted to access server-side environment variable '${prop}' on the client` ); return target[/** @type {keyof typeof target} */ (prop)]; }, diff --git a/example/src/lib/paymongo.ts b/example/src/lib/paymongo.ts new file mode 100644 index 0000000..539275d --- /dev/null +++ b/example/src/lib/paymongo.ts @@ -0,0 +1,5 @@ +import { createPaymongoClient } from "paymongo.js"; +import { env } from "~/env.mjs"; + +export default createPaymongoClient(env.PAYMONGO_SECRET_KEY); +export * from "paymongo.js"; diff --git a/example/src/pages/api/payment/create-intent.ts b/example/src/pages/api/payment/create-intent.ts new file mode 100644 index 0000000..297b91d --- /dev/null +++ b/example/src/pages/api/payment/create-intent.ts @@ -0,0 +1,24 @@ +import { NextApiRequest, NextApiResponse } from "next"; +import client, { type PaymentIntentOutput } from "~/lib/paymongo"; + +type ErrResponse = { + error: string; +}; + +const handler = async ( + req: NextApiRequest, + res: NextApiResponse +) => { + if (req.method !== "POST") { + return res.status(405).end(); + } + + try { + const intent = await client.intent.create(req.body); + return res.status(200).json(intent); + } catch (e: any) { + return res.status(500).json({ error: e.message }); + } +}; + +export default handler; diff --git a/example/src/pages/index.tsx b/example/src/pages/index.tsx index 5513c42..9b68f32 100644 --- a/example/src/pages/index.tsx +++ b/example/src/pages/index.tsx @@ -1,45 +1,126 @@ import { type NextPage } from "next"; import Head from "next/head"; -import Link from "next/link"; +import { useMemo, useState } from "react"; +import { motion } from "framer-motion"; +import { Container } from "~/components/container"; + +interface StepProps { + currentStep: number; + step: number; + title: string; + onClick: () => void; +} + +const Step = ({ step, currentStep, title, onClick }: StepProps) => { + const state = useMemo(() => { + if (step < currentStep) { + return "done"; + } else if (step === currentStep) { + return "active"; + } else { + return "inactive"; + } + }, [step, currentStep]); + + return ( + + ); +}; const Home: NextPage = () => { + const [currentStep, setCurrentStep] = useState(1); + return ( <> - Create T3 App - + paymongo.js example + -
-
-

- Create T3 App -

-
- -

First Steps →

-
- Just the basics - Everything you need to know to set up your - database and authentication. -
- - -

Documentation →

-
- Learn more about Create T3 App, the libraries it uses, and how - to deploy it. -
- + +
+ + + +
+ setCurrentStep(1)} + /> + setCurrentStep(2)} + /> + setCurrentStep(3)} + /> + setCurrentStep(4)} + />
-
+ +

Hello paymongo.js

+
); diff --git a/example/src/styles/globals.css b/example/src/styles/globals.css index b5c61c9..a90f074 100644 --- a/example/src/styles/globals.css +++ b/example/src/styles/globals.css @@ -1,3 +1,4 @@ @tailwind base; @tailwind components; @tailwind utilities; + diff --git a/src/index.ts b/src/index.ts index 0376850..a216f18 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,11 @@ export { createPaymongoClient } from "./client"; -export type { PaymentIntentOutput, paymentIntentOutputSchema } from "./api/intent/types"; -export type { PaymentIntentCreateInput, paymentIntentCreateInputSchema } from "./api/intent/create"; -export type { PaymentIntentRetrieveInput, paymentIntentRetrieveInputSchema } from "./api/intent/retrieve"; +export type { PaymentIntentOutput } from "./api/intent/types"; +export type { PaymentIntentCreateInput } from "./api/intent/create"; +export type { PaymentIntentRetrieveInput } from "./api/intent/retrieve"; -export type { PaymentMethodOutput, paymentMethodOutputSchema } from "./api/method/types"; -export type { PaymentMethodCreateInput, paymentMethodCreateInputSchema } from "./api/method/create"; -export type { PaymentMethodRetrieveInput,paymentMethodRetrieveInputSchema } from "./api/method/retrieve"; +export type { PaymentMethodOutput } from "./api/method/types"; +export type { PaymentMethodCreateInput } from "./api/method/create"; +export type { PaymentMethodRetrieveInput } from "./api/method/retrieve"; -export type { LinkOutput, linkOutputSchema } from "./api/links/types"; +export type { LinkOutput } from "./api/links/types"; From 10c0b55c4cc9c601eb20443b86ab6e706b84ed19 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Thu, 23 Mar 2023 10:21:01 +0800 Subject: [PATCH 33/44] chore: add anim --- example/src/components/container.tsx | 2 +- example/src/pages/index.tsx | 88 +++++++++++++++++++++++++--- 2 files changed, 81 insertions(+), 9 deletions(-) diff --git a/example/src/components/container.tsx b/example/src/components/container.tsx index 22f6882..786072e 100644 --- a/example/src/components/container.tsx +++ b/example/src/components/container.tsx @@ -11,7 +11,7 @@ export const Container = ({ ...rest }: ContainerProps) => { return ( -
+
{children}
); diff --git a/example/src/pages/index.tsx b/example/src/pages/index.tsx index 9b68f32..91e1ee5 100644 --- a/example/src/pages/index.tsx +++ b/example/src/pages/index.tsx @@ -1,7 +1,7 @@ import { type NextPage } from "next"; import Head from "next/head"; import { useMemo, useState } from "react"; -import { motion } from "framer-motion"; +import { AnimatePresence, motion } from "framer-motion"; import { Container } from "~/components/container"; interface StepProps { @@ -24,7 +24,7 @@ const Step = ({ step, currentStep, title, onClick }: StepProps) => { return ( ); }; +const PaymentInformation = () => { + return ( + + Payment Information + + ); +}; + +const BillingDetails = () => { + return ( + + Billing Details + + ); +}; + +const Summary = () => { + return ( + + Summary + + ); +}; + +const Payment = () => { + return ( + + Payment + + ); +}; + const Home: NextPage = () => { const [currentStep, setCurrentStep] = useState(1); + const panel = useMemo(() => { + if (currentStep === 1) { + return ; + } else if (currentStep === 2) { + return ; + } else if (currentStep === 3) { + return ; + } else if (currentStep === 4) { + return ; + } + }, [currentStep]); + return ( <> @@ -119,7 +189,9 @@ const Home: NextPage = () => { />
-

Hello paymongo.js

+
+ {panel} +
From a5420a92b8b3972bfb4c6d726af32f6d3622c3b2 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Thu, 23 Mar 2023 10:27:17 +0800 Subject: [PATCH 34/44] chore: move jsdoc to main client --- src/api/intent/attach.ts | 13 ----- src/api/intent/create.ts | 13 ----- src/api/intent/retrieve.ts | 12 ---- src/api/links/create.ts | 13 ----- src/api/method/create.ts | 46 ---------------- src/api/method/retrieve.ts | 12 ---- src/client.ts | 109 +++++++++++++++++++++++++++++++++++++ 7 files changed, 109 insertions(+), 109 deletions(-) diff --git a/src/api/intent/attach.ts b/src/api/intent/attach.ts index 168a3c8..8db2dc6 100644 --- a/src/api/intent/attach.ts +++ b/src/api/intent/attach.ts @@ -15,19 +15,6 @@ export type PaymentIntentAttachInput = z.infer< typeof paymentIntentAttachInputSchema >; -/** - * # Attach to PaymentIntent - * @link https://developers.paymongo.com/reference/attach-to-paymentintent - * - * @example - * ```js - * const intent = await client.intent.attach({ - * intentId: "some_intent_id", - * methodId: "some_method_id"", - * return_url: "https://example.com/success", - * }); - * ``` - */ export const attachToPaymentIntent = async ( input: PaymentIntentAttachInput ): Promise => { diff --git a/src/api/intent/create.ts b/src/api/intent/create.ts index 4529f00..2abf21b 100644 --- a/src/api/intent/create.ts +++ b/src/api/intent/create.ts @@ -32,19 +32,6 @@ export type PaymentIntentCreateInput = z.infer< typeof paymentIntentCreateInputSchema >; -/** - * # Create a PaymentIntent - * @link https://developers.paymongo.com/reference/create-a-paymentintent - * - * @example - * ```js - * const intent = await client.intent.create({ - * amount: 10000, - * payment_method_allowed: ["card", "gcash"], - * currency: "PHP", - * }); - * ``` - */ export const createPaymentIntent = async ( input: PaymentIntentCreateInput ): Promise => { diff --git a/src/api/intent/retrieve.ts b/src/api/intent/retrieve.ts index fc6cff5..4dac573 100644 --- a/src/api/intent/retrieve.ts +++ b/src/api/intent/retrieve.ts @@ -12,18 +12,6 @@ export type PaymentIntentRetrieveInput = z.infer< typeof paymentIntentRetrieveInputSchema >; -/** - * # Retrieve a PaymentIntent - * @link https://developers.paymongo.com/reference/retrieve-a-paymentintent - * - * @example - * ```js - * const intent = await client.intent.retrieve({ - * intentId: "some_intent_id", - * }); - * } - * ``` - */ export const retrievePaymentIntent = async ( input: PaymentIntentRetrieveInput ): Promise => { diff --git a/src/api/links/create.ts b/src/api/links/create.ts index 4bc418b..017cd23 100644 --- a/src/api/links/create.ts +++ b/src/api/links/create.ts @@ -12,19 +12,6 @@ export const linkCreateInputSchema = z.object({ export type LinkCreateInput = z.infer; -/** - * # Create a Link - * @link https://developers.paymongo.com/reference/create-a-link - * - * @example - * ```js - * const intent = await client.intent.create({ - * amount: 10000, - * payment_method_allowed: ["card", "gcash"], - * currency: "PHP", - * }); - * ``` - */ export const createLink = async (input: LinkCreateInput) => { try { const parsedInput = linkCreateInputSchema.parse(input); diff --git a/src/api/method/create.ts b/src/api/method/create.ts index 9ced9ca..6bea34e 100644 --- a/src/api/method/create.ts +++ b/src/api/method/create.ts @@ -40,52 +40,6 @@ export type PaymentMethodCreateInput = z.infer< typeof paymentMethodCreateInputSchema >; -/** - * # Create a PaymentMethod - * @link https://developers.paymongo.com/reference/create-a-paymentmethod - * - * @example-gcash - * - * ```js - * const method = await client.method.create({ - * type: "gcash", - * }); - * ``` - * - * @example-card - * - * ```js - * const res = await client.method.create({ - * type: "card", - * details: { - * card_number: "4242424242424242", - * exp_month: 12, - * exp_year: 2025, - * } - * }); - * ``` - * - * @example-with-billing - * - * ```js - * const res = await client.method.create({ - * type: "gcash", - * billing: { - * name: "John Doe", - * email: "john@email.com", - * phone: "+639999999999", - * address: { - * city: "Manila", - * line1: "line 1", - * line2: "line 2", - * state: "Metro Manila", - * country: "PH", - * postal_code: "1000", - * }, - * } - * }); - * ``` - */ export const createPaymentMethod = async ( input: PaymentMethodCreateInput ): Promise => { diff --git a/src/api/method/retrieve.ts b/src/api/method/retrieve.ts index 45e66a8..c9f9c34 100644 --- a/src/api/method/retrieve.ts +++ b/src/api/method/retrieve.ts @@ -12,18 +12,6 @@ export type PaymentMethodRetrieveInput = z.infer< typeof paymentMethodRetrieveInputSchema >; -/** - * # Retrieve a PaymentMethod - * @link https://developers.paymongo.com/reference/retrieve-a-paymentmethod - * - * @example - * ```js - * const method = await client.method.retrieve({ - * methodId: "some_method_id", - * }); - * } - * ``` - */ export const retrievePaymentMethod = async ( input: PaymentMethodRetrieveInput ): Promise => { diff --git a/src/client.ts b/src/client.ts index 3e281f3..5b4f2a3 100644 --- a/src/client.ts +++ b/src/client.ts @@ -21,8 +21,46 @@ export const createPaymongoClient = (key: string) => { * @link https://developers.paymongo.com/reference/the-payment-intent-object */ intent: { + /** + * # Create a PaymentIntent + * @link https://developers.paymongo.com/reference/create-a-paymentintent + * + * @example + * ```js + * const intent = await client.intent.create({ + * amount: 10000, + * payment_method_allowed: ["card", "gcash"], + * currency: "PHP", + * }); + * ``` + */ create: createPaymentIntent, + /** + * # Retrieve a PaymentIntent + * @link https://developers.paymongo.com/reference/retrieve-a-paymentintent + * + * @example + * ```js + * const intent = await client.intent.retrieve({ + * intentId: "some_intent_id", + * }); + * } + * ``` + */ retrieve: retrievePaymentIntent, + /** + * # Attach to PaymentIntent + * @link https://developers.paymongo.com/reference/attach-to-paymentintent + * + * @example + * ```js + * const intent = await client.intent.attach({ + * intentId: "some_intent_id", + * methodId: "some_method_id"", + * return_url: "https://example.com/success", + * }); + * ``` + */ attach: attachToPaymentIntent, }, /** @@ -30,7 +68,65 @@ export const createPaymongoClient = (key: string) => { * @link https://developers.paymongo.com/reference/the-payment-method-object */ method: { + /** + * # Create a PaymentMethod + * @link https://developers.paymongo.com/reference/create-a-paymentmethod + * + * @example-gcash + * + * ```js + * const method = await client.method.create({ + * type: "gcash", + * }); + * ``` + * + * @example-card + * + * ```js + * const res = await client.method.create({ + * type: "card", + * details: { + * card_number: "4242424242424242", + * exp_month: 12, + * exp_year: 2025, + * } + * }); + * ``` + * + * @example-with-billing + * + * ```js + * const res = await client.method.create({ + * type: "gcash", + * billing: { + * name: "John Doe", + * email: "john@email.com", + * phone: "+639999999999", + * address: { + * city: "Manila", + * line1: "line 1", + * line2: "line 2", + * state: "Metro Manila", + * country: "PH", + * postal_code: "1000", + * }, + * } + * }); + * ``` + */ create: createPaymentMethod, + /** + * # Retrieve a PaymentMethod + * @link https://developers.paymongo.com/reference/retrieve-a-paymentmethod + * + * @example + * ```js + * const method = await client.method.retrieve({ + * methodId: "some_method_id", + * }); + * } + * ``` + */ retrieve: retrievePaymentMethod, }, /** @@ -38,6 +134,19 @@ export const createPaymongoClient = (key: string) => { * @link https://developers.paymongo.com/reference/links-resource */ links: { + /** + * # Create a Link + * @link https://developers.paymongo.com/reference/create-a-link + * + * @example + * ```js + * const intent = await client.intent.create({ + * amount: 10000, + * payment_method_allowed: ["card", "gcash"], + * currency: "PHP", + * }); + * ``` + */ create: createLink, }, }; From 323904df76b3f00d5b915a73ed36b1609e098124 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Thu, 23 Mar 2023 14:31:38 +0800 Subject: [PATCH 35/44] chore: add panel animation --- example/src/components/panel.tsx | 23 +++++ example/src/components/step.tsx | 91 ++++++++++++++++++ example/src/pages/index.tsx | 158 +++++++------------------------ 3 files changed, 146 insertions(+), 126 deletions(-) create mode 100644 example/src/components/panel.tsx create mode 100644 example/src/components/step.tsx diff --git a/example/src/components/panel.tsx b/example/src/components/panel.tsx new file mode 100644 index 0000000..d9edcc1 --- /dev/null +++ b/example/src/components/panel.tsx @@ -0,0 +1,23 @@ +import { ReactNode } from "react"; +import { motion } from "framer-motion"; + +interface PanelProps { + children: ReactNode; + animation?: "left" | "right"; +} + +export const Panel = ({ children, animation = "right" }: PanelProps) => { + return ( + + {children} + + ); +}; diff --git a/example/src/components/step.tsx b/example/src/components/step.tsx new file mode 100644 index 0000000..e7826fe --- /dev/null +++ b/example/src/components/step.tsx @@ -0,0 +1,91 @@ +import { useMemo } from "react"; +import { AnimatePresence, motion } from "framer-motion"; + +interface StepProps { + currentStep: number; + step: number; + title: string; + onClick: () => void; +} + +export const Step = ({ step, currentStep, title, onClick }: StepProps) => { + const state = useMemo(() => { + if (step < currentStep) { + return "done"; + } else if (step === currentStep) { + return "active"; + } else { + return "inactive"; + } + }, [step, currentStep]); + + return ( + + ); +}; diff --git a/example/src/pages/index.tsx b/example/src/pages/index.tsx index 91e1ee5..fb34c65 100644 --- a/example/src/pages/index.tsx +++ b/example/src/pages/index.tsx @@ -1,148 +1,54 @@ import { type NextPage } from "next"; import Head from "next/head"; -import { useMemo, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; +import { useMemo, useState, useEffect, useRef } from "react"; +import { AnimatePresence } from "framer-motion"; import { Container } from "~/components/container"; - -interface StepProps { - currentStep: number; - step: number; - title: string; - onClick: () => void; -} - -const Step = ({ step, currentStep, title, onClick }: StepProps) => { - const state = useMemo(() => { - if (step < currentStep) { - return "done"; - } else if (step === currentStep) { - return "active"; - } else { - return "inactive"; - } - }, [step, currentStep]); - - return ( - - ); -}; +import { Step } from "~/components/step"; +import { Panel } from "~/components/panel"; const PaymentInformation = () => { - return ( - - Payment Information - - ); + return
Payment Information
; }; const BillingDetails = () => { - return ( - - Billing Details - - ); + return
Billing Details
; }; const Summary = () => { - return ( - - Summary - - ); + return
Summary
; }; const Payment = () => { - return ( - - Payment - - ); + return
Payment
; +}; + +const usePrevValue = (value: T) => { + const ref = useRef(value); + useEffect(() => { + ref.current = value; + }); + return ref.current; }; const Home: NextPage = () => { const [currentStep, setCurrentStep] = useState(1); + const prevValue = usePrevValue(currentStep); + const animation = prevValue > currentStep ? "right" : "left"; const panel = useMemo(() => { - if (currentStep === 1) { - return ; - } else if (currentStep === 2) { - return ; - } else if (currentStep === 3) { - return
; - } else if (currentStep === 4) { - return ; - } + return ( + + {currentStep === 1 ? ( + + ) : currentStep === 2 ? ( + + ) : currentStep === 3 ? ( + + ) : currentStep === 4 ? ( + + ) : null} + + ); }, [currentStep]); return ( @@ -190,7 +96,7 @@ const Home: NextPage = () => {
- {panel} + {panel}
From efb86e7c4ee6d4cc3f20c2a643c8db19d02dd364 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 29 Mar 2023 21:58:23 +0800 Subject: [PATCH 36/44] chore(example): separate panels --- example/src/components/panel.tsx | 11 ++-- .../src/components/panels/billing-details.tsx | 11 ++++ example/src/components/panels/index.ts | 4 ++ .../components/panels/payment-information.tsx | 12 ++++ example/src/components/panels/payment.tsx | 9 +++ example/src/components/panels/summary.tsx | 14 +++++ example/src/components/step.tsx | 4 +- example/src/pages/index.tsx | 61 ++++++++++--------- 8 files changed, 89 insertions(+), 37 deletions(-) create mode 100644 example/src/components/panels/billing-details.tsx create mode 100644 example/src/components/panels/index.ts create mode 100644 example/src/components/panels/payment-information.tsx create mode 100644 example/src/components/panels/payment.tsx create mode 100644 example/src/components/panels/summary.tsx diff --git a/example/src/components/panel.tsx b/example/src/components/panel.tsx index d9edcc1..688efac 100644 --- a/example/src/components/panel.tsx +++ b/example/src/components/panel.tsx @@ -3,17 +3,16 @@ import { motion } from "framer-motion"; interface PanelProps { children: ReactNode; - animation?: "left" | "right"; } -export const Panel = ({ children, animation = "right" }: PanelProps) => { +export const Panel = ({ children }: PanelProps) => { return ( diff --git a/example/src/components/panels/billing-details.tsx b/example/src/components/panels/billing-details.tsx new file mode 100644 index 0000000..a487ac2 --- /dev/null +++ b/example/src/components/panels/billing-details.tsx @@ -0,0 +1,11 @@ +export const BillingDetails = () => { + return ( +
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro similique + minima numquam laboriosam maxime voluptate consectetur modi, nobis sint + quis earum quas libero architecto nisi perspiciatis ut repellendus aliquam + quibusdam. Eum veritatis repellendus optio hic? Repudiandae voluptatum + iste doloremque libero? +
+ ); +}; diff --git a/example/src/components/panels/index.ts b/example/src/components/panels/index.ts new file mode 100644 index 0000000..090f5e7 --- /dev/null +++ b/example/src/components/panels/index.ts @@ -0,0 +1,4 @@ +export * from "./billing-details"; +export * from "./payment-information"; +export * from "./payment"; +export * from "./summary"; diff --git a/example/src/components/panels/payment-information.tsx b/example/src/components/panels/payment-information.tsx new file mode 100644 index 0000000..4cb1a69 --- /dev/null +++ b/example/src/components/panels/payment-information.tsx @@ -0,0 +1,12 @@ +export const PaymentInformation = () => { + return ( +
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa sapiente + ratione qui ea repellat ut corrupti, excepturi libero asperiores vel fugit + id consequatur, ex ipsum quo totam nemo cupiditate! Placeat ut ducimus + possimus blanditiis? Omnis ratione adipisci eligendi repellendus fuga + tempore sed dignissimos asperiores corporis? Aliquam perferendis quos + consequuntur suscipit? +
+ ); +}; diff --git a/example/src/components/panels/payment.tsx b/example/src/components/panels/payment.tsx new file mode 100644 index 0000000..4038b02 --- /dev/null +++ b/example/src/components/panels/payment.tsx @@ -0,0 +1,9 @@ +export const Payment = () => { + return ( +
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci + voluptatem, doloribus saepe vero quasi impedit. Sunt culpa ea excepturi + nemo! +
+ ); +}; diff --git a/example/src/components/panels/summary.tsx b/example/src/components/panels/summary.tsx new file mode 100644 index 0000000..6906430 --- /dev/null +++ b/example/src/components/panels/summary.tsx @@ -0,0 +1,14 @@ +export const Summary = () => { + return ( +
+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Nihil corporis + consequatur nulla adipisci facilis voluptas repellat architecto assumenda, + maiores beatae, animi numquam, tempora dolorem! Optio quisquam repellendus + cupiditate obcaecati consectetur exercitationem beatae id, ea tenetur + pariatur deleniti magni placeat iusto fuga quis fugiat vitae earum quae + dolore dolorem rerum ipsa! Non voluptatibus sint quis dolor fuga + necessitatibus delectus, nulla blanditiis labore natus molestias sit! + Officia modi saepe praesentium earum vero? +
+ ); +}; diff --git a/example/src/components/step.tsx b/example/src/components/step.tsx index e7826fe..40a6aa6 100644 --- a/example/src/components/step.tsx +++ b/example/src/components/step.tsx @@ -29,7 +29,7 @@ export const Step = ({ step, currentStep, title, onClick }: StepProps) => { initial={false} animate={{ backgroundColor: state === "active" ? "#16a34a" : "#ffffff", - color: state === "active" ? "#ffffff" : "#6b7280", + color: state === "active" ? "#ffffff" : "#9ca3af", }} transition={{ duration: 0.3, ease: "easeIn" }} className="rounded-full border border-gray-400 p-1" @@ -70,7 +70,7 @@ export const Step = ({ step, currentStep, title, onClick }: StepProps) => { diff --git a/example/src/pages/index.tsx b/example/src/pages/index.tsx index fb34c65..68fedf8 100644 --- a/example/src/pages/index.tsx +++ b/example/src/pages/index.tsx @@ -1,43 +1,23 @@ import { type NextPage } from "next"; import Head from "next/head"; -import { useMemo, useState, useEffect, useRef } from "react"; +import { useMemo, useState } from "react"; import { AnimatePresence } from "framer-motion"; import { Container } from "~/components/container"; import { Step } from "~/components/step"; import { Panel } from "~/components/panel"; - -const PaymentInformation = () => { - return
Payment Information
; -}; - -const BillingDetails = () => { - return
Billing Details
; -}; - -const Summary = () => { - return
Summary
; -}; - -const Payment = () => { - return
Payment
; -}; - -const usePrevValue = (value: T) => { - const ref = useRef(value); - useEffect(() => { - ref.current = value; - }); - return ref.current; -}; +import { + BillingDetails, + Payment, + PaymentInformation, + Summary, +} from "~/components/panels"; const Home: NextPage = () => { const [currentStep, setCurrentStep] = useState(1); - const prevValue = usePrevValue(currentStep); - const animation = prevValue > currentStep ? "right" : "left"; const panel = useMemo(() => { return ( - + {currentStep === 1 ? ( ) : currentStep === 2 ? ( @@ -96,7 +76,30 @@ const Home: NextPage = () => {
- {panel} + + {panel} + +
+ +
+ +
+ {currentStep > 1 && ( + + )} + {currentStep < 4 && ( + + )}
From b742680705dd93ec6afb86474ec2fb16b7ec6baa Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 29 Mar 2023 22:03:27 +0800 Subject: [PATCH 37/44] chore: dont build on example change --- .github/workflows/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8d1f917..7c9973a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,6 +3,12 @@ on: push: branches: - "**" + paths-ignore: + - "example/**" + - "README.md" + - "LICENSE" + - "CONTRIBUTING.md" + - "CODE_OF_CONDUCT.md" jobs: build: @@ -22,4 +28,3 @@ jobs: PM_SECRET_KEY: ${{ secrets.PM_SECRET_KEY }} run: pnpm test - run: pnpm run lint && pnpm run build - From 71a1212c6e7ef9dde444e7fdbd6bb4fc5de6aadb Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 29 Mar 2023 23:24:13 +0800 Subject: [PATCH 38/44] chore(example): og stuff --- example/package.json | 1 + example/pnpm-lock.yaml | 108 +++++++++++++++++++++- example/public/android-chrome-192x192.png | Bin 0 -> 49510 bytes example/public/android-chrome-512x512.png | Bin 0 -> 302748 bytes example/public/apple-touch-icon.png | Bin 0 -> 44360 bytes example/public/favicon-16x16.png | Bin 0 -> 940 bytes example/public/favicon-32x32.png | Bin 0 -> 2596 bytes example/public/favicon.ico | Bin 15406 -> 15406 bytes example/public/manifest.json | 22 +++++ example/public/omsimos.png | Bin 0 -> 205245 bytes example/src/components/step.tsx | 11 +-- example/src/pages/_document.tsx | 51 ++++++++++ example/src/pages/api/og.tsx | 101 ++++++++++++++++++++ 13 files changed, 286 insertions(+), 8 deletions(-) create mode 100644 example/public/android-chrome-192x192.png create mode 100644 example/public/android-chrome-512x512.png create mode 100644 example/public/apple-touch-icon.png create mode 100644 example/public/favicon-16x16.png create mode 100644 example/public/favicon-32x32.png create mode 100644 example/public/manifest.json create mode 100644 example/public/omsimos.png create mode 100644 example/src/pages/_document.tsx create mode 100644 example/src/pages/api/og.tsx diff --git a/example/package.json b/example/package.json index 33b5181..5017d1b 100644 --- a/example/package.json +++ b/example/package.json @@ -9,6 +9,7 @@ "start": "next start" }, "dependencies": { + "@vercel/og": "^0.5.0", "framer-motion": "^10.8.5", "next": "^13.2.1", "paymongo.js": "link:../dist", diff --git a/example/pnpm-lock.yaml b/example/pnpm-lock.yaml index 8a607a3..a94d999 100644 --- a/example/pnpm-lock.yaml +++ b/example/pnpm-lock.yaml @@ -8,6 +8,7 @@ specifiers: '@types/react-dom': ^18.0.11 '@typescript-eslint/eslint-plugin': ^5.53.0 '@typescript-eslint/parser': ^5.53.0 + '@vercel/og': ^0.5.0 autoprefixer: ^10.4.7 eslint: ^8.34.0 eslint-config-next: ^13.2.1 @@ -24,6 +25,7 @@ specifiers: zod: ^3.20.6 dependencies: + '@vercel/og': 0.5.0 framer-motion: 10.8.5_biqbaboplfbrettd7655fr4n2y next: 13.2.4_biqbaboplfbrettd7655fr4n2y paymongo.js: link:../dist @@ -287,10 +289,24 @@ packages: tslib: 2.5.0 dev: true + /@resvg/resvg-wasm/2.4.1: + resolution: {integrity: sha512-yi6R0HyHtsoWTRA06Col4WoDs7SvlXU3DLMNP2bdAgs7HK18dTEVl1weXgxRzi8gwLteGUbIg29zulxIB3GSdg==} + engines: {node: '>= 10'} + dev: false + /@rushstack/eslint-patch/1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: true + /@shuding/opentype.js/1.4.0-beta.0: + resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + fflate: 0.7.4 + string.prototype.codepointat: 0.2.1 + dev: false + /@swc/helpers/0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: @@ -480,6 +496,15 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vercel/og/0.5.0: + resolution: {integrity: sha512-NrHyWFj7fLixXPjgCXlyX90VdbiIfP6IBcyimiFGgwpnmyRgLiYTvrnPIKI/JP49VF9bnYHFfVqzMupeyCamuQ==} + engines: {node: '>=16'} + dependencies: + '@resvg/resvg-wasm': 2.4.1 + satori: 0.4.4 + yoga-wasm-web: 0.3.3 + dev: false + /acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -649,6 +674,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /base64-js/0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} + dev: false + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -696,6 +726,10 @@ packages: engines: {node: '>= 6'} dev: true + /camelize/1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + dev: false + /caniuse-lite/1.0.30001469: resolution: {integrity: sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==} @@ -750,6 +784,27 @@ packages: which: 2.0.2 dev: true + /css-background-parser/0.1.0: + resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} + dev: false + + /css-box-shadow/1.0.0-3: + resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} + dev: false + + /css-color-keywords/1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + dev: false + + /css-to-react-native/3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + dev: false + /cssesc/3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -873,6 +928,10 @@ packages: resolution: {integrity: sha512-yLaoSY/ngjgRpEGU4ueeW0vlj456idQBn74r6s1yutoOIadvd7rwt05TGenPj0PoetJ5pEHomVkmfTdIgqPfJw==} dev: true + /emoji-regex/10.2.1: + resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==} + dev: false + /emoji-regex/9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true @@ -1286,6 +1345,10 @@ packages: reusify: 1.0.4 dev: true + /fflate/0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + dev: false + /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1804,6 +1867,13 @@ packages: engines: {node: '>=10'} dev: true + /linebreak/1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 + dev: false + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -2045,6 +2115,10 @@ packages: p-limit: 3.1.0 dev: true + /pako/0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + dev: false + /parent-module/1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2148,7 +2222,6 @@ packages: /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true /postcss/8.4.14: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} @@ -2352,6 +2425,20 @@ packages: is-regex: 1.1.4 dev: true + /satori/0.4.4: + resolution: {integrity: sha512-UCgoY7CXibFQmgI4ay4QSWUOca07nI9pY56w8NKrBq+bkGgiMbcPXZWj9bxukyJkEl/cgAICGjjxvwlDF2NYRw==} + engines: {node: '>=16'} + dependencies: + '@shuding/opentype.js': 1.4.0-beta.0 + css-background-parser: 0.1.0 + css-box-shadow: 1.0.0-3 + css-to-react-native: 3.2.0 + emoji-regex: 10.2.1 + linebreak: 1.1.0 + postcss-value-parser: 4.2.0 + yoga-wasm-web: 0.3.3 + dev: false + /scheduler/0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: @@ -2412,6 +2499,10 @@ packages: internal-slot: 1.0.5 dev: true + /string.prototype.codepointat/0.2.1: + resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} + dev: false + /string.prototype.matchall/4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: @@ -2554,6 +2645,10 @@ packages: globrex: 0.1.2 dev: true + /tiny-inflate/1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + dev: false + /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -2622,6 +2717,13 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /unicode-trie/2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + dev: false + /update-browserslist-db/1.0.10_browserslist@4.21.5: resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true @@ -2710,6 +2812,10 @@ packages: engines: {node: '>=10'} dev: true + /yoga-wasm-web/0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + dev: false + /zod/3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false diff --git a/example/public/android-chrome-192x192.png b/example/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..80e09409e9bf73973380fcfdca83b1358aa923e0 GIT binary patch literal 49510 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
XbOZv7?bs9#RtPJz8s4tGF(0#5_# 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 literal 0 HcmV?d00001 diff --git a/example/public/android-chrome-512x512.png b/example/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..e073d3aa90a55eceda348b11d0b50f00e0e4a077 GIT binary patch literal 302748 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 h) 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

bz{j&4cFVo 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Ê@{DUwN}PW0L**0@8_|nxPRZb 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 z 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 Y4^_54d_dp%b^rhX07*qoM6N<$f=*E%;Q#;t literal 0 HcmV?d00001 diff --git a/example/public/favicon-16x16.png b/example/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..ba7e10f44c1a6b7e3d7dd75cbb030784dc9b3a71 GIT binary patch literal 940 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 literal 15406 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 A#Q*>R diff --git a/example/public/manifest.json b/example/public/manifest.json new file mode 100644 index 0000000..953a40b --- /dev/null +++ b/example/public/manifest.json @@ -0,0 +1,22 @@ +{ + "name": "paymongo.js", + "short_name": "paymongo.js", + "description": "An end-to-end typesafe library for PayMongo.", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "start_url": "/", + "orientation": "portrait", + "theme_color": "#16a34a", + "background_color": "#16a34a", + "display": "standalone" +} diff --git a/example/public/omsimos.png b/example/public/omsimos.png new file mode 100644 index 0000000000000000000000000000000000000000..1a83c68580b1fc1654858a4fd531da6ce5c225a7 GIT binary patch literal 205245 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%0Au0=AlIm7 ztmI*|@*Hvrfvp~N#p>I$+8|X2k!dLli!6h-$p|Sq=XrFE75T+7?26}C;&!jRQ^bVM z1{rmgp|+ZeAvdRa9>th1sZEgvKg2m=zAea!LC*seoJ?<&YQ=(m1|6%n;tW~*b7lG= z5r5@m1{3%5_TJ{9Cmus@H|Lvo-udSjpMUkqCmugPyTgVLz|T5S63M=-OVd*lWNKLk zEhkTFlGroh&{wmXVz8K^WK0z|4-+ZS2ox#cY%yJ14W-Dx19!1ZDd4FL8P?*XfQAO`=|$Puq2E>$p|Ij(Si#E>^3P`ZZ>q?N9)XiM5IvCGAw^7gu6N=1V;k0F0}BO_GgK+T1YtJm+S$p~dv~}v2m{5BZ(aS{ zAOHPmqdywlY9OM)Ib>+g3*MGAg~`9;vR3{wgLf%r(kID!TlX>9F$&4GR)+eqjF`Na zs(}2-STHw&vbS$VBU!ksTYmWPYl&>%_QXH<1IN7I?& zWzvdPGNN238)F#U5E=0~!{(6v9YirmL|%#q_-0f|L5v-!7$A^1$k>=7JA7x1<|9W_ ztZ)%pc1YTASq%^}%gzasUJJ#1MubsnUm;>ijM*}x9!jH{j3AONM~1BNUSg(s8vFoL zoW|+O!w-UmaX)?d!3S@>`Sr_}jxWy7jLX-78yk#FrK-3`H4TDgXlJ#Y$NLestyb)G zQo8|YCMdOB+68;D=qqHI%In**RWzs<x>Q#h7||l{cLul(* zW94j;G?{tt09dFkHLXV62AnYz=M{fwM(4q$7zz+mG@0k-@PEa|UCvv6z0^^~{JBic zOzB=VJeoT=$NNL3(rym(YBf-d*5uIM+abl^xqd4Hx{@E-f~hd*ukgWcy{~b(&gi$2dajE9pqAFk#)FRq0}gp=b1_@DxK&uJf<q^DOX{aP>C4O zirjkq3ijo%zR}PQv@&8$A8COqXWs-;qmdL^N<cXgz?->5fXmxE!UCbb|6N*lVY zG1G2gFG4GiQT<;zHG|Y4+eoE|$+7%?H-G7KUwZku7sEXBmXogtC$H+W#cupD#$pPN zE~XSH5X2Y*5{A5*>120y?d)zeLSXD>d-i94`xhG<+~svf%%g!=UL3gp)mZ^~DpgsW z%4Ih~lEQwHt|Z7oy>kM2+ziT(3|9q|ZBjf3Wxw>!b3T&TGA23(agZ4;oD0G_9?BLc z0VDmUti6`1uNX4Wi2EvVwjB{N`mikkL|P34Pf_GTf*7hAP-ZIxnOVSPswqUFpU6#O zAp~wABc8Tk#pS`G!@`s)rA+fh?UnhGR!nMGK9}mNNU;vZ;W1yb4vl>8%%dSDDd3G1 zYq^4PjQ*0B$Qy|?q17du=`>i~@fE2RQdaIC0v&#&|s_AWNnC5(!0R|uktW2O!2H_E0K zJ2OV;*(S^&ThwdpE_`*bXp*uNQPfyK5xsuc#vP^It$+!Y86Qd-Ez?!yFa~=Q6zK4z z5#+W>LRTU52BWOZI(dXnha0Z9f{_-RsJy3sPI}?QLM;(RqIY7TN^+I!x)fc?e~ckhQGp0Sp8|U|KY)&Kh*3U8i_}!oU-#`8@qbIxe-aGFyhh^G~E;GP$_ zAc;Al0ZB&Xn>Y*}OVdie2!8M}Mpu*+1DL$cbW#ekoHayol~;Kb5OE>_AlX{%z8VIZ zZz!EwBHbbnL}k@AhyR&cGDBiJK_BA0@)G;!D=THE)|z>q*29pu8%pcJr!eJ@qvQ}X zjkR2BRfw&NVP z#P87AW9znUX-6y40*KN&%>n_9hPg_Fmnk?n_>J1JRYijeD$uCPSzY6$egxC`X*oT) z_y$`Gc{A{;-<&<6K+H%jFV~c&i|OC~n}7T23!k6Ik!VIka~xxw6D7hVPX|vikVyv_ z7(iP4**KIi%|I7v{NVN{XVWyX;pyG;(?9$EpM7xqzO zkDKj$_k6m$iD&2Yz0G_#|394X(&i#;&S{)zH@ZYP2bjW3KTjY2=EGaJPTqR+ z>*uF;xE~BPWMB`Dp%tRp+S=1AWC+ysu+Bgfu4zHF9ks0bng`ZzZphWU2HFW>D<3l0 zjbQtt!G%FhT~BpB8+81wN3OXsYK2TtZB`OgD_$<<)TIKTgpqQBR4M`!>Z$CF!-D?e zt{k_P&o=z3g=yWirsct?xL$%n#?szU+H!R*o(|m?|0pH91FrICYyvA_uP!N^c!|o; zeSJDomsBS-m7sJe;v$8p-m=*4`eRZbAg-LJ!`HNvZ|%9*x3uQQ)WfKnDn0mUDatWu zGb_P}DNWn?Ti^KY=bw6h9;cK7nh1!_TVDQi<}0$3NdAK`CX6Yh#8xnvEV>EedD_2! z>-v~s2Mw63x2}HgAO2>aCVyoWk*q}v?5HQQNs7MYRZ4U`WS*GAZN8!8BrngGS`-7B zPbGCrnO_pEShocOUSYIS{lN{xxZAJXDohi^RJvuD z4_WKxc{0W%1lvmKZ4N_1v9FEZ`gsmKZzfaSd@07vUMWzVXD3$9b<39sC@_Idi3<$o z2*&WOHKMS96cD6{Tw;;$ZGe;CeDcWi&#sP+rv3J(KmXaQFTecRm!3Ph`|;p8LZG%- zsP-mQkd#T|qI0uz)03FUuKta_p8Flzp{Bvd(#n5fM~AZ%3=(86=hNMaq5 zCOBXcriPQLwLA#Oinm*9MQ%jVU^4;31rAlHGb)%UcJ2mi14#=)8fq?l#pV0-0HFMh za@B1gMWq2|p%-gptcqvHXDnCTXs_QkM;6o`cZjsGs55CNK`ji)OQuYVB3j_QLS^m1 z)`fiNGD1^_YBmwdenMq{$g~~5@s)49@XSl|IL0(t9zGbu9BUuDWZvg6m*&b+mB1$% zDMFglw4wRex2{GsQ|37S+Rf{K@wa~-kDR@<0)+M2M+mD`rcq9Mq8LU)ikYoTM;5co zQr;^)u91xQiKA)n86|lnBG+IU#vL0YSoZZ>v0gb0ex9RuW*nojSY*%uT!Kav<|FUN z5V&wJSi}_O!TCANB2!G$3>kUdjs?dRJ0q<9N>l;^nJL4VF7DhpJ-Ku5#>sfGn=ZEV zZc5V(F~OW@4i*riSe8SvDv`!2ECuUH>~A>{hk!vW2c4U^U6-5z?{RSUXzeav8XkOb zedRcVzjuSPfYCTNhIts)VH~Y9bBx}Iv~CRNqf8F`=ltgoh`W(lk;X zLiK72 zbu`iR7k~AauYB%*ec*w|x0{>jAn($gYAfZ`RWvP2CDk++|6ZIQ^G!@tUWP_Ye`GoE zl3)wR5_JKiTXB9SvaI{|KsMer&cIM=|Tdi1R6gQYOST+M>lEF%4bl%O= z%#W@l-i^#9bi5RuwPVW5#yE>1!z&L{a51LAS)pSV46$2alA^H`{opK@LQPZL+`N8% z_w>%qlZ$(2^Z9Px?rDq|bNp-pOcaLCWdOzK1#A(#4KNiIULey1B9KX?l|5fUKnkfo zWW=0&AMreRyZ1NDrNJIwc9)OWk33-4Yvb+iJb+DuS= z5T^XJT5i3A#IQSCo6#Mg4MNOwP3c-?dEC^p2da@H zsnajvsR|r*&lpxT5)=DA^JW`oOt`%r?VB&sqz?RS+Os4fevgder7l<5t%sK_92MS=W%F9}%4D)Rc?ZYzm+EdinF z;{^-8>J~CRuE*BGv8J;(uUKpa9j4oQu~K2R9%AZvg=KGvlB4Tcn~VUEocBDzA2=O^C{17NDvc8Va{gTk0P?fW z>Z-)xlK3ia{8ISY46%4>K$U_@cYwT1+5`f(pHlI8F)75Oqt(R2ACFgSnrE28=_l7e ze&^i}fAsTD{`r?D?|rntaT4#G6T#+xQ~q%Z>0+NY7vbLN{`T$Zd}Cr9oH%J2DSe7; z^(fz$I5U=#*d!Jm4}eKMTRot-6pPqODTT-h!@NNlo?I(lVl3$p+tU;i$Wmz|t!3=F zmA6{i8f3qSVjqzx((Zioz{3wkgXd>wH?Cj%t#5wo?DP~dibttweN1&FgR&rK5?L)7 z>inh?D^qf|ixPcUFc6(6F5IyXxRZ*zHY>n%nXsnW`#`Wp_ZkUSF{mIA;^Nave#BsF zg#-lEs@s6Pv8z5Vp?zNkukzJQp{G=VvH(sMXl1?s@&ESU6UAbRP-+Ky$5|Q0K~gZ> z3+zc>GelKI(c!XP+{N$J<>=S1nqFcb(sgi$xm3Jhzs_vw)iCyf_Y9VlLVzBfJbHp-VG~CbB;A2O;bkQ z5a#uIHSTwk2b*?#Hw>9Cb181x?=z`4CQh>hBUChmnNsrB&f}C<;v8kd*gVhP*)Yxd zjpJmkox<$Uq;YnDVb0(lr(nb?%=uA`$@L0UNbWzvV0%%__b*EvzlmCP3K~aF(zB++y5BOZx&U)*Ntf zSTa=yPQ~239H!Kyb?vnsi7Lz{ao&<8NtLnIVKU1%%1F1W`O1q^5fN&cdOe5!MdW(A z@>F3l$1Af1AwdNLYNA6u8){M_L3cCk+f}K$TI^y9VH?wHyB0J=S9v^u`!>V&JM1S! zbwg`2c68#hzTWhmv=s-i3Wf_$iYyxvhw%?`BQzFy?qK^3|?oZ$h~o|)Zx?ZwX}#d#P8M#*6g(Mqd7S4Z)@MdS%x7y`H8 zhm?UJrNP^2o}C@?+nt?a#(D3=CKXwZFo}&|xMVdWU5a6~8pd%n?0|sWmbM!FG)_69 zRw4HDUlaR(hT#P14B340~5S(%1*AlVB zxDL1v6^t{UW|}uM1Zm{T_rQUR;*Fi}X)5s%<&|6Fz{-@^Y)TfDwALj_1_D~}7F`54 zk~^Q)_r{~^_Q5MhPdtWKuHgD;ALDwp4q?0YHl#VmXuY4ODRF~Gied1pFtJ6fP&vrl zGmaAn{?gNyDXmoI`oWF+iR}?eDom`uq~NT~E@N(+w?l6!Fujd|EarG(4tGDi`q*cm z8{PQhpZ#nc_y6sG_aAQD{?OW(I4LCQE{-sCHEV4~NO~Yx`9}r?<%lVj2AsUBq;7H` zE4{qMhz0K=;D+vZP^AfIiR+^3wnf??Qh`Bddl~lGaIV@s}8UR4}y#SiABUfmL{;p?xi(XwOj!9 znQFRKK`R(l5tB5B3n`2QQTlg<1H=>wV&KSE zrlK&mq&ZC?1>W^35^Un`{oB`P$J=nEAHDnIUw!;OtnB*oCDs8b6IcoZ6If9|81BGY zCzD{r`N0(fhZ1w}?ATN~ow=;XaM3G}xEtm_i}A{^8ZyX|*hl1*xAH?B8Ec4=A6(>| zNt6Yd(rOsQX>c_R(>xB&9}R2Th11_$|H)te-7o+4M|Xbp$#m=7>=Nx#+C>;shLMbl zGAx!q+Ynle5UfSxOw4G()4-&n-ul7&G^KePAV`CSt4^M55MIJJE7OGlctD50>fo7L z`YbU%m?XA?b(iNh8dh`X05kFb1C4~^4C6R%HskquhTnmk+|b53IOpdW@_%rh3F_d|xr#L+_tEJ38&(G(?ZWvq!Zy^;Hg#ZWOw%LY#&%b|%c zrOgylpt!zrYzBMd>dloOo_qG$aop6@Y}vail|scji(!0yy2}u9VRgMg9BMe&^}4>u zNhQJRk&{XS6{)enhz0_UbUGi?Li+}*WhO+0^#%T5Ct8+Q|44n{XQ(ZLyTANnYB`Sm$FvUd@A8OtVE4-CGsds3!*q>S(Y@)*<<|IR_ z5EgB?<-71I1*0jyVyaTfK?|~6Bl9*Jt~IZ9Dr{g;YGzvFN6*p~qO3N^KJBvIfp#WD z%J5=oQBbwlE@YKMN;!uK)AZCMPki-DUy1V+;vN9lBBXW?GdJX*Hq9aOvt-#nCc|xv zA*471Tsylv5ogE3qaFf6tUKK*AUtT5z1CFsA)=@&m`uJ^$RRFTe8qbI)Hox^(yC^qqhF=|BD54^MBOhA8a} zEQE6Ta9!<^Tal$=YD`=Ti^S;5NIO8usq;W1V0(c`7>Fjw!S^n~MYI?5Zgb%teQ@>Y zLv-a~q>>I|KW|SlIzI$6PhsNZSajZnS**d?YP%%nMZ798myB+sz-l{-WZ{PF7Fg$q0Upe}V@BP&)uYMNDA;$XjQw{yQ6H<{CBU8nJ7t#Jx#X)k(5jh65g)t==_2A$|vOA@QVVf>OSh zm;BMUzVYoC#uz7Sd`c_{BuEs2%DfYxz{9yLHz3TM5KY1{BjCO1;_iH&447!I-umQw zKlp1}J9l}I8QnOb3HfnxJTBWA$B8Cne-f5r9ru_br@WEaU7)xDaIBgyh~>h7AQN6= z8mu2f6#s1QqqV7I!y}j6+WZ}2l6ovL-%2rAk38WO2WJD9)_Mfz*3-%PNAG{~!9V@{ zmfN!1Zbvve zqW=>A;s}TBRm#D5F7zwB8I|Lg_`RP_ntju$Ijf-d2odUR=s!MednID zckY#$E7!XB&b#iKHyaj58eBlfAcrL|J@%x^yRNV{o|*@F0hn?6-Y|- z)D0#w0>Gqt*Sdd-nX`BxvK5U5BReY9oKx3uq5u?P@-ZHHJn*}tuv|Zw-g3P6=395i z=r$X_>^7UtPO8=UBL;7+Wqo_8aWBHh68nmrzeweJ$rwl(vP2?W0Bp3LmE(ZUB^ynB zr0SiK?;_*B`M)*>Z;kN~QEEQd&R=-*X14Pbm+-ZRzVTOo#H3#39k_iQj4&uAx(hF&oSJJkyMAmk*V)~tdXuIt_At7s8uDzaBZtp zDnnf$ZRTsB7eGUVb%2-q=Pk)RDATmnW=k(7A0Z(|c;lZE_0&6~X?}wpT&qT6TKiiW z8g64AP`XT|=!LzQPzKbDipCG!Js8WQjoH-j^cxBVLq=y6lDQvg- z0;Y+R7aN6F1n{gkIXvRBiXv-`L`SdTuIkf~LvcXscKi0Ls)P^bibOIakm|{a4g5VP(oy zq*@ZgChrUCEs_er)BP^86{SAFV-#SqQ($F7;3Eb#Z;MS zz{8~#vTQpiaeeV)LAF-v8Q;*_DhF~cOSQT|HMWC(v@k5&@N*yj#Cz|&EBIqcmy&2g zhg1mJV(1-W6*E+p3q)8LlMg8{97O-zg_n;oVS*n&^P|U}_(9s6%*O5QZ@fsp=JPlv zYg`g&?~2x6#y-=nMnhJ|mbB)> zsf;r$UPkxgXB?)od2aF>WlE2XviB&jh%J||KJ zW!0@qtO3|e)BN_gzvJF}KYaJy?|bK+?*ydd-C>A}DkuUJLnf3_*92mytfJS5^R$`F z{-xJ0fALTL>$e~N_OkUvRoXixC^7|6k7CJd71$=KJ+OhSE>D&l$^+&It&OcOn~Bdj zc++fdIXmBaOR~yH;$1N=-e}^*f+fp4ymOyVmxV64uN;pZX}2;y&?7 zryan7Xf(MLc`_HBhEMp*NUdXmS;J zSd|E2G*|5ZTUhrs#vzV+i7<4mOcx($5t^HDw>qjq@O(d z_&0z2U3+G;e`-HNz}bLU92%?M)DEQZZ45buf^u{@B4fn{Q67kM!dyxsOPJzhjGh)b ztIcV7A7 z3;xov3u?w_*fJWH{uM}x0NiAml5;AWhQ`_y$l(0(Pki$Ce*g2I``qW=dFP$Z+1;`g zo_|JdW>`1Uy2V6LmyobHiDQc1AG?kD^k;tIQ@`-(m(IO>;rw|70$ZGfMVv9Obz4?} z^u$o2PfNj?(;ZaCH$oK*E1kmPp&I~p2@V%N-1_4qW~Rx4uwqTl*>i}`5Gh7GPoe{? zZi$$Ib7Cj-I2oKxYF(beudt7)O5fH(mVj>A@nnr!jm4lODz8O zI6Qp%$*2C@XFhv;cnvM}5kwq>?i-=COU2*`5)lk3q;w=6Ll^WqXfd2q@q@(^vzpv?xQ&=(t#)uI|hj-OEARrEU7l+U!An^0XE#FRgaMHmXpwBvB7&tEY71ud!sjH|N-2t3(IGy|O+ zv7G=q}Rkxd6v$BBvyWWFk$( z=#3>aE2m55Cd8U1zjuxf$ca95&waoBcYpWK|I#leOqZ`*-tLZb05nAxSVm*9sYU36 zq0&97=~vkhoH!laxUsjt|G+Q)c{@!{KK>+XY?84zkkW_ljI=uPJC6kF$O^3LdL5zY zPArHxGAscW&)z4DZhtSOVBEZ@L^tNcb9OE+QC!iiT0Dr?q(oKG7nZZl1|=qIc$G?} zFbaYrwbZSfzNYC?L?+#1(oT~JkrswLksVt2=u9)lTI8D`1UUH-pi=_IR!U{; zu4v1w|Oh6~mS3$$ZbJKRQlF^ee{V#Zm*PY^}A1Y^i9#ijvg{23>Tg z9Xh?9P%n!*`E)2qSFyobrlx)j4)9@h$(3YAZE+6+Y<<3##sh?g189XqyI;j{%HeQ+ zHlT#fB)J%Msg5iSt~p$26ZL=+gPj;D!e9FAUv|d$a8w8v#coQ>WMe4TMx_2-VnG|U z%;Y)kh@X1(`JEiUj^Lq3zkYdpW7^+<%Xrw%E^?e^r{kD8ye4((X4C;n@q!gAe=K&e z0;EB{E?|b0vLu??8AZ>|amxAjJh>!_2T~rxX_`WaVv%A*>d@+8nPS?^8!u{s`)(h$ z>C#WnfBR1!dg3eJTV6kQ;Ls2oCX>K2JC+IG99WH`3>k@ywWu@-Fpy|}@650N>Tmp= zzx($#r#6?bzP|V!86ljJxQw$h1HhE0S%>vR*Q`-T8l#)!P&byAuv^0R{*V34op-+L z(eFIUD&SJGF-UDy<0=J$!H95J+rl(xs#NvWsiHf>#JhysAedCF833ovCi)#38Ko5g zGm+567-9zUJ|?bT)OR*m#1ENMEP=RMyjxZj%q*?2;+`uqW+tUjL_UQ)oDWgPuqsku!)PRbVbzPVb z{QO6-C)PCNzSyEa!uo4H6xAdJdp6PHBM!&d5I3QPxzau$81i<>qmjBldSBO2Rc)#9 z(E7t3#sU;dnt~&7_@y*Fyc#9zx}kapdW6L_V8-rN)F62yRy6S4DQIQgU{zDX;XZ*s zj-R~$6K}os%^_^9lhLCVSf!mMCD^1C)aH|yyNX*-XQ$!)^O`9o*NK?MMA?F{W|7}Dh*F^Ebv?^}vY=S;Y zgxVkyFLWvRpd8Ri+K;Rfbew~%6c+Scs47s26Y0wH`AYV0y7|JZubkdL{f;~Ci0Kfj z(NEj$P{G!S?OND@6Y#b5{m1g-$$$o(0aoA$_e6YUo6vUqfE9UQ!uIK>@r6SVeQ3hN ziKq;4qU6x~X%$d)as!N@7OIHw@QH?QcRLl#J-=|DG`?1_dBk^vU@Wfa53q7s02qp# zRFf!bXL;o#Ku^j0Tdt1BmSgZbuD3hb--KwC2LN2d@b;d=I0N7+nD#~~c56ncaxpNr z%diwx2?s%(#$M>q75+PUQ+@wJuZ%nX@cTdfzPsMH><$xetGJgq%ES<&*StYSy>hG# zagpg!W*L`>i07`ndg1tnnI?+-qn~{Ln?HWUo|^6C+-&r&Sv_PDOq&UXA}QnW1+mHt z3~-tzBmFC@rX>0}tuZxbiOqq`dkf8=czkgPd-EoU!%kOGw9oN9Cr8B_h)6akr;Ar9FB`&)d7uuU3 z1+E_BBrcOE&JNQ&U%ONfqYC;l2WM?LQAAaiWY9Uo*aE!7l~N3QSf)W# zB?Hw|jd3|VW`pk3sTY3w+=uVIH^XZd@$=r7X@>l5{=OeFy@w60#?`jRs;7M-1s?|7 z8;aHgs; zS8B2!{M1KIqyVEc74%btVPKMWoZm#OYk=bxplib2A`SJQuhCFFqH*wzcw=nBorS1%l0n$I` z@{gW-!kyW7`_trXGVCTRVpm{EoKLw_V8y8$#H!0lT{q4-17)cpq{$lKsF4?d=gFzL z*5pj^i_`~_Fb&Y?lo82a0G+kohiP(RdXi?hi7}qtoSuWd{?e82J^08s|M+X?zW>~E zZKw4hvOp7>4VpK#^kR#tiRCI#9vXaD>IpZlHP{s$lbxt~3I^O?irL&hlK zwHDthlpAZ^WwnoM0BK~Tl;eIpow*1v6XFuLcfRLc5B#~m@WKl(oPYJanU<)^n86!CgoY;y-x--!)(>!~>NNWp3 zohRr1&e@pHMVaqHrK}LEg-=LU1ihjd;b;py!`LV(OCeH0P5YDb=}-N_!NCo(Xbao2M7zqcY}>jg#oQt4iRt!Mq0uaG7$mC&f}up)QD6-PJm4o- zMed#`3?;srNw2K8^f^~W7~me0YEV$1%GlkwVWd%w0KDA~uD!MX+CHenV}&Fm*>N<# z2JxQguTgCapaTLgXi=7_!RoWX?QMFz#_E+&T@CyA+5p3A?CybW2y*4t_gy5vz?3F< zyZF^9QJ4&?T1Y=E`-`d9euu?WjSi94XIFo#{*7KdYU_ZtS|AdC8BN@N>s#;p&_|Z# zFvjB)q9L1;RSqB%-pnb)pkYCZvoV6-E!(`0h?BKHz3}4ehu6hEAbjboUp#l^6?=NK zx3>p|&6M|*umbWgch2f`>pWQ&rn-0?Xun$w2Sw_15~D5A&`LU0EM|pP7>Q`ORD`S) z6AI~FQdeoC$q6DhT$>yb{A8y+nwJa5-}sY zt0OQ#j-{`KV2#Uwi`kpI@BHAu{Fnd7```b;UDzJ&uCt8Hmc4>nCah;$H7Um0aU9ky zwVXzyUvE(X*zy>aSD_eeA`cKdj!w9^KuxxRX_L?}M>AW9`a;pzv-rM+PQ7tZGRewjMvw^L?SguA) z7%_?H7g>xUfM{K_m_(uxiAz)TC7|+K%XP)%{c`rUH($JT>DHUxeEaQh3CjW3bBhPi zGGyFC_BVXS=6*c}kRg;nF9Z&8rU^%PB&4~?pbp*;ZLbOp@CdMj*K+=~umfX@Yd9XT z`iINi)ZyJL$IXDDw}X{GJ@8Coto_S1l*T);p>ylIB4>sl-}Hv~G-#w!gj z9NZd)cv(Y`=+6(KxfE;Iw zh8%%UJILG6M}$|dUO0bnm7KB0eC?5kUwG}@eC8Bd+H*5kDcE8wn}h7cNl5}pqy~6$ zPM%@Xz^aaiIxoa2T9K+#V2kqN6oVBf#T1jc6MD5p)TfeSQspfv7y8YV1Lr2q7oWTE z#sBjQFa7X^bQm1k4D#j-wlapbLKtu|X-G^?;u0k*95O>TF6g)TGavr==l|g!Y?tF3 z$JfY&Qc^FXi+QmcG_6N53QCmSRL$Xgeo4Loqh0xTungd4bFaik~in*femT*k@RFJ3CKy zfB%K&pZ|qV{QPcvK+Y7WgM#O&%BM6ol|r_W;54AKG3y^Wv@4xA`ijK*$Zjf1r1Hg10Tm6x7+ z@oCy~#@KnDWDZK&<#O6uYsBp}N@|-kP3Nr4E2jKK5v|t#vp7yiNJ-45thA@)Jw%OL z+apqDg_MGJ$&ApmoSjmXLAjLn=Ej}r*h)Xm0!}~<&_NEV zQY#<@uoIzWav)@coK%HfWIzAb-~64=fBp}Sc86PkU`#4i7ig;|FNT!Q*6E+ul*!Y-BF%ADdn(ZTN8;d1?-{fmD-+bKsnDwP5K0hJ+E=Ux~k zgs7xoVD$C1dP{}X2erbW<@stH4;Uz2+QQ3MXt!IgUqJ|>W68#uL>!jIPPSN^ByUXd zn-PoLXss)7Oim#YrOhAMI;)C&#)_?xQH?H^|Cahl>1`240|wy6YZnmU@c8&^4?leK zO>YlN(t9f~UxqSD2Yt{U0c=C_SSoz9%J^C^0bEydD%@$uWIHMq=M_ka9rgF73f4PU zroW0@92Lvs5%f~67r{{RtN(1?)7a+vxf4lxP_7jb9z6r06hxTUN5&9dWR2YOnfoh+ z3kL*AYg?jmA2&|*)Wi!X^c!Wltz=)@7+75k$fNJ@A zKr_&)4A7*w09KfM{9V;F0@fo8?Sb^s;f9N#)E{~+wp#8Mv|_4!t-d@1jTjud&wk+r$(e{N|SfCObPaX5O29 z4D)QO$*UCF&RG5rBI5A z5VrW%TkiO0|MXwnbMJ?)Ub`IP&RQ*(icPHA;9x=bV|p|^%>pWQ{ox?jO9Muzks8<7 zt5?>H5OS?Ghr6S*Z@L+ied?*F$l9a^OAO=5Tk~A1CChTm7J3_(gtwM9Wv&t$ys8x? zDfALRJYMoEot)vDnY7*$W6m?C2~xx)DV@P0xW$P>a+C31Cf2Gqn$Jgg`KQj~Cg7rb z5apjTx>N{Zj41{%H}GrSwxJQm!=QQ{vntKBG9=c~Zk0>{gl0<8q^7FMpj>mp z6~5+LSL*n1gs$z1%2+V1u%t|UeflH9R;7~M_Rd~=qyDa?qD5FQj{wF9G{#*V^Xnl< zV$bzQ2ZDCSb?$2KZmkO!8rHj#!N37)r649V&=<<>qo&x6!%i5ky?G!|AKS)`S6l8$ zjnymhw87}%2kNKL_H<<9;Zr~RsZ;Y5;|*ht%rPgSzD9rPD&)d!HW-F~EG^P+jCy7jmIJpU;sA`E}AE%%-fyp`n%M}TT zAhc2u0N9ev@mD1Bkikt(M~tkSg7-#5`K*j@Y3|OV;Ksofz=$L^5ISI>RZuDm zuNR@ZLt#BV`<*9R*Pc!o9kngg)?p(f7Gp)Zu?NRDK6LMWKmOrQZX8^fMVX)w=QtHXI9f0YU9cR^fjf>Zd&;hB4Qy!4rp4Y733S%xYT+W2K-c z#5jBn`*-#E>eN|lwP~tT`A90n(Z_a2*FLK550yiwC~oxGW$sfK<@(G$pS@pY+*&vp z_)b08LGP0eb}fYCcL%^94B>Vs9N$ugmnBje=N$br-ImfF004 zYZ?NyxDHsECNu>8)j6R@5Y@d5W0KJi3PLjVNoeP!S5(Tclj-uE|MqMY~i#-gLyCZVZ5>lreIyY0^$&)2c!U5vE1O4JB=X?n2 zG?Vh%T0ITs$tE8sGw)vC{_(&5&rf~(iQ`L0Ak{#cfLy`}jFe){Oc}abGC7sCEk(2(kMj3CGF_~6=#ADbR62f^_y z9JaSA>Oox{Qc-{O!>azc#dB*@V= z&c=e6SxA8=8OeAG;1G43$O)4Knh;}%XKuau!ll>u-Sob9zw3B+By!fW7hnigh)tDg zs6v+NXZP!dmg)}^w6zAu%qwmC0lf|NhWbo!C~0HM%ljHApmh{rscMH6Z?`n0AHnS- z)gaT14!ME#F>W>iss1J~FbcT;Xc@0n!~dp=fLKb4tHhs1qyRmIhY=9~4TTIG?m=Jo z{dP4upHd|4RI8zt0e~5YbE2;beNAWnwz>_!! z$HH}1Fq^+F3t8Q@j08^2Z&A#qtO(0W!pR0H1_7`#LFAV(&6^Z?f8KYC`_q5-h0D)f z<}FZ;qezC0BQpv8#~E~JW?O0n`76j2)y2yY#wA*w|Nd|P{)g`U$fe8Yo$VQbY_&wt zbv9Z;(Mk9?LX`0V4TUBsdiU7FXbZT=&aZf-S_-U8h6{hX5oc+r(8~c&qFbiFrFJWLs52M2U2h2A=XW~JM&K+mD_J!SorUr|)h z8*`&+HS##`0V^BG)$i-g{^9$LOV`UQ<-@624ve*qUJ<8uQ|c|K?TX=09Kd6*=G3zC zkd4%dD=t0g(OhTsIRIA~j4lc+ZilFzhAMqo2jyFPtoz8zKL`SU^q!9*MI_Pm^fAOp zh|-tf7`-T)q#S6CjU0X2#U#$ADWNq_z4k2TM1w9~y!iD;zG3zzH#=($njA@|*(lk| zNq@>v4x^%6m=uP`n5;26t!qSIKt}>CWFpR`t*3Qd+tqt@IU_H z$3OP7SFc?%*1%9nZ@DK`<|(!@kRguZiN{pW&bG_|n|?eE36n0tM8G(fSj#`9dM0BE zXxL7;4F~_=_kNF123wuc6SiPLndc=_E?xs1_F$_~h!ji+SZ%G?`rSt4MTj|c3t)`~ zE*>neU!KXPB?DV=eM~vea5kqVF$!D_&N;>uV$49Bq^=LlA?7DomSp~ofg|UjT<#** zoTdbMx%p%=Y)Sc8#jEFEpC`K{{OZ@gu{ZBSj?_?!$puzWtw}QUZ1e{UVd%^8=>J2hDdHA+rJDHBx`buFn)L3BZC6;8z zlHtH_zwI4wzWLVU<7>-um~jS~1j`b3-g{%nN^dGezg@OoMh2{*7~?kV$k`VzzO+q? z1By$0@GJin47ts|bw-9biXyHR1Z#*mMse9nmTdL4

5C&M5YWK#^YoAz<<@U_GL_^`}cby@+|p&_Ts43)E?U|)e(@3dem%9n&! zYR#qAtvi$}*$c)&BkrmH_YuFiKqep>089 zPoR2Uy>2}XEvpJSMwC68QnVLT3RgS#fJfws)U{^nqHmiDU<~Lm)GBb8Wvk~){i#aU zs&pzWV7#2aDXpGuppZ}7T{uo6j}6RMw^uJ7U1p4A;Gu7Q?dtBjan4%jEJX-znsf|z zb`uFLN4b7P8Rr;F0Lf}&1Y_6w$^S{#5<@};Q<6*uXcTM)d0S_v7`#ElKF-qw!RN@C z;EX%_{12b|5C7^vy!MmVaF?+gObAm(d@{{NieYIYrj&y(FwfamMZ#(Vg#>kpyFSk zRoy{XPLGR{Kkj%reB0yOO$-{#yYR^T85V3m25XThXm5~lG>s% zDPvVpB^Ty|(c)Hy*g2|_F_BrCr>K=O&BLyqzevXHLU`e&R}5~%HZmoxr?j3*Nw>L^ zZ5l&zXy^3ctN6F)9BohM4P)d8Fu(+AhAE6OZ4IJQR-xzfJv{YiM?*cRgd%Jz2RIC9 zl{CF@wtC!Rbs-|^TG*{gT&d7lnZ9ch)Ij*c6~;$%?`Q8XpS0>#4~0d-!DR3xE~wR( z8r4RCtT7I%I!5(hZlg z)%%zCs3eEsIMhwfbh3!s3O*WuE7L(%gQW~V-+RYqXvtmFyhvb1_Gw0WUxOkPj-4I_(W@W6FS@`WfDx{TqABc?t8nm#rU;R&C`{w`i z4S#tt@&%fKT(YxemvAy9NR}*-6MB{tO+J!Pzk{z{vpyugRJQ$$bs4(*4ffHbWT#-cpYThl!)2u#`Wt>`apk@*R*|ZCOimlEQz)cR?T8ckZogdm6%II zAgyr_R*j;%1cyszAq&+u}X%5ln zxa`w3orPuo;=lXiPrv!JS@Idk4(yC(2F!oS0XP5Gpu$)ruoH;{jG;+{uF%A742S0L z|E6hnwG|O(&?SVte1wRuuKI~nbMRF5Qeqx7 zmkGvjQjX~Y(A0E+q`8*1J5Ir#-A`74u=oR~C2jUL!3X2W`)I9AAsA_=h8T6CB&K9# z9xvv!#-b=swylGRDJB(S$KvS)Vp>B`YjJ4M-#9#V^UW8oUAyP~?>{w908xopL|p`{ zis`i`Ol@*>yfenHk?qw2G>lKJNFX*x@BSJB9>ZYcuy?l8Nki2^si2+LsTh>hSUjHH z`n7ugmcvn{gc?(8)wRKszp=X%w)k7!XKARS(nA4KdLnE!O1umBKgBtSE@JU+^AF3*78Y`*6$;{-+1e{or}a#1_(&>X6;f9PBIsedB9{{7u&stNz?IYPOV?ieD}UuzjC0Bg zWHEsNbv&y}6tOmebd%^jh2rO=!EQC3uCj%IO z#3rSy7cZi9UwioBv!`#4zPh_|iLK3!p^`n?MjE%pDrtZd+3XlAYH6sZ1S8mK&CCw( zh{mcV*4}zA3RBZb>ELgiRqH{##v-B<025)%iRvfU<}r7uJucT4Tx=}vOY;Qjzo*IeVt0f zncLowTTlxWR1=Efu9{k_M>W6Kc+pmx%)lu zW!Qyq?3bM=B+Z1DF^RMHF8Cm~Jm-4eFFwaXbd&QKU%zq5TAJ#tCpE+S?Q5bl-q+;%DG6Ni|lwIMyGhw6za> z@-P1X{>E=zzI?$t#-4sbO$+L7;Bl(30SzvBgDS4!IIaSHU)3h5dUlyMD>9I9Iv(l! zk~{p6Vx`LGV(Gi)g=C43!?pdh(>?cmD90&hS%|ArDa@};;=3b=RU)sopzk3KQj~Cv z#?+oaab++yIVz@#eTrNa874eN|I%eR*iuS?eUh@uZrPdH6?#^R(iRJ1+BPd)3=o2- zcdI}QLo$|91SL5Lb;QIdW4p*`GH8~_TQ)@z3?n?cdetKS`0*!h9PX^$S7L~63)Knf z<^#1D*g#237f5xgaOl_B^N;d1hC-gHtFdx!urj$!C&^+rrmf?`S}9Al9$L?-!NV3? zp}1ikAf=)Xr<4}Ii0pu2 z12K9Z{o;3*kFIUgvgf87*Kd67+Yi$`WuU73#}urfR3}j;#h^euh~aaQ;8NLpQ7lQGdvE^?hu9Kk89#-hz(JK7$!!#>##dTZTDz-23o6{PZPl3Q?W3MTW6$WD zu1XVs8Nm@z;~=dtW&y};%a1LxCP`fAR9G=wKZ{purt~&p#k5TjL-a9vV{--^llNhZB7Gm3Bk;B3>+>{4pT7R>uODuYH>YM4q17C^V{kH( zTh5#mwI81|I~n3~#u8wT!ZOk$23_ipKq@I~2xDBt6)LLhm%L2?fRF-I1d^n61__q~ z{*!r{tq)0^V{FyYKuigE%kR1U?*HL;e(%PW zDoUF8AOlyR);`u0jYMl}9jm~%BEv{k zz>!)pt@Ms5QhepQJ&tklDqBFrA?y%gG8O>5U#!c(S$MK3rYOZIC}1FotPdx&l!10- z7qFHZbgIQU`RJ(>-AGI_Ohzr+YuDV~=8+$KpApp-en|Nx>xir)OLDZAxYKN4aTHv} zF}dc!KfA=9mfgcJ3mR36t>?1CWA8$G^`vWco?e;N0#xtG4-Kd4 zWeY_&JVu#%yTcy z^G3$vwU1H+N+xS#^f}rRL?6`hpniaqLv9qFK#Y@}2r=)#98A+}EGCY@Zzh{Ukamz@ zD;Z=`XYb$_=S<!N$e?Kl^uo_UaR_@Ck?tgm7FQf2=^rAN2b z(5iIput)CcTz#XJWnBLYv=Sba2$F+P%xMW7|N5{0x{Ogt%g*Y=Qcl1VaP#XG!oLz} z>->UL44_JL$wMitypco6P^B)aWT)`2Bf$|aFI}+-!|?%46F3uh+x#7lnirDT412#6 zDwevD%SRG+fr%ot1}VA8GP2H$B^A6!3MqsX$>wiqJ}Baf8G|o34w>V%!=vv!^4+s% z-jpJj1h%$#8^2Dg;dN{Waj;EqlpS36!2n?;E74je^>LIK!lT(j592sSTZC1NLR=R~ zJLD@H96G7C@=kg6Hh3bC3@+$6z8f|hg?fH-Tf>IPeCUCXb-YlkyV^eNNpQVfq8?2L zIo6>%+#NnDyrkiywkd#`y!X8{9C1V|1(xwOb(8?BkX$Q^w|B1fa=?B<4QC+sGC%|V zY86*yg(^6u;c2NHKGv;S#qoivbhBKpc9!`~^PBGf@O_L&A?{?q5oh=jLh>O7nbZ_Z z#EbxfkGq%x8t^e(@zL)adO6Tiom$p%t^+~bOlJqE2A6X5=yP2~ zo9_IFfA1fOCiGUA4x}2gm4@H`lxg?YUBm(Xj76$mjA~gF4+~`|)&dUc)!;%z&APU3 zpEk%aCQp4dEB{n7I*N>G3CsKMzUQ@9E?zi)K|Lom^&|ndg{_Q6{kOGCJ6=C`d84AA z(neGZm%b5;r2nh(Q6NkMcgtSd%L!1*Cu?A&u=r_j!zrjW91%=z^1*XtD}I;GPI(Qe ze5DabOhu5KW3JeVqt0BSiliuioY??G(Lm$KeizQ%decvzdG=%XeOv|z1Jy{;3}3KW zjn;Pb$(h#*Jh=cq7`~1zmeGK9JMW+o0QdwNtMw*4fdo6qtt+8+g&J$2cl%edazw-m zU{|$*hCGXYk*UWx_Jg8#)XMr}tgQPE5L)x9{0tZVCwD&g&^&0p_F7Azp|m;tKh(x? z8LVbrQL$PKl+$lLngt!$w7ZILxT(W2LnkJF^plmYSNpU=4Jz$2KowP?`nX$ljD{!H zkFs7OgfUR~_@VcG$k_z2GiW)d;W@UZm`qN!l21#BJ|>?y07On9LfD0!NB{im=YZJJ z^zBE#n=z6ToA8Om@Ff7JNk+CfhfCt<=gAdn4r+;jFeN8bEGb1p88uJNQGV^>jETXE zqauVD=4n;~v35QSDv6e+J-X@1@BH+O|Mp84pMBL4p(8UB%{=X+nb7VN&Hxi`_9v!< zR(jEvWS~d^thRwt*!ok`O@H|N|NE(VFY>XQ^c*unL=8AlGukux56Nx-0Du5VL_t(E zmAo~q@wy#4Anogc8nXn)0>iMz>uwte&Rx)?y*UxBbC!yQ>*Sf%fpS8ezr7qEU;gXA z{%dZUlK2>c(cvyE3^V;@GO8fb;0YDj=J2Eg`=okKZC-{lW>g3%!syiOZDiOAi~)nk zusnTXN-iBA=hJF-c~w9%24aqkDIZ?eDj?MfT{%D?<)TSI%Apq_ku}TVLG;UZ8@}?;H&36rS+tKCndC^(9c^0U>qK6Uqg^SrBX58} zLzT1d^73^afR11()5eU}r*Daw(s3EWLrb3JAV`fvhP8Uxa?}>GZ5D>o#8_m2 zkrjbsDH>`y8gS@uoJi#XSFc~u&0EW|-oT;dQizd#0Ik`#iGoH0K|@gn`;o>Kyhx*y z)7kwu-Ez}SDITTdEm@ABwY8Z1vTV!GP+q%>-^J*S6TLcz=MOGz!?JPi`4?ZjaOu+C z-f03E;F9A*d>N_sK&y|8n*&xq^M(4uv-ppyX}?_y#Iq$ic0FOV#B5JAgTBvuJN@hg_F?? zD6dJQZsnyot=5Ni4^Wv0LsPzzFkRaE*RRWYxif6FyXE~t&SmT>P$-7roFj&~EJ7g& z!qv-H8pRqx0T?Ud5v-%K_ae~6Rb^br5*hz0tv4NBxi+8L|K1ND4|1v`5eMwdR;ZQo zDt=FW7@DEZMk+uzZ4?vN9Ix@vZRA(^Q;GvTz@v4&z0CoQt_^Pt_e0OVAE=cO$Zhn$ zJn(iZmss6&6$+$liY~2S*qH{{7@o?vMl?l}N&XK@d#R}j6pi5`BTg+&p_+pZ>7De2 zhhnxqFGEeAw|xMvY>8SaFY_WWWcVGkl=>|VEejk~bL!0U@K{D@Q$Rtrrlk7dQF~d4 z!_<3!#8d?Bi{7MC#Dzh`B9A$KavcLl#<#ustpwgWjxlbRV=@?`*QS%G!)8?L{gNY% zrNn8sY$L}d`SVvVxY-hz7tftbh?AZ3-WOAu6vN(TBa1do&gRgZ@rXJ_lVVtTTv3QS z-n#rYcMl`4{;ZgQX{1%ebxeqXuL;pxBk>eVt4E+h6kyvbU=m?DXFsB8X{?DHLH*!F0SA$m8wW^u z_2BSFPdwr5#+oSs8$jC>JoNDqwkr0@N*Zc222{*zgnYG}GGeS&i|gfhqnv>P#TtAa z5Md3!G!DL&O1`O0l&&xiZ-kvVx|`qta>sha01^lO05{`;;mF{^ibn2tpatL>U29bV z-*BfoXf0!ANgb?vEbmRSq5p=xAlojez9V%cF_zT^JX(S#oUqibs|B&p_J-m2TI$kK zbZv){qWv}y&uUZ8t7jle#%18ApS^{-A_GB1P)-j(Lniq6w%cw`@!0#LjXTAheB6pe zXNW1Ps}g6-nf$ViqRB#reDbeedNmv(`FDHUTChRSX@r_cD|v%Z2lM z377?Ok3j?Y}&{yS%k* zL|U80Fou$0nsat&CxeFPy-8vv8cWt0;|z;RlT1QHMC*6-!S{UVum8&5xP0-Fp*I?F z@gR>j*08X-6H+e@;aIt8ohTi}(MZ;qgneJEqiyY&QK`n(RAlHW3;`H>rnLgbP@55$ zv-hLz)%V~1uG`=Gwj@5DGBa$Why*8Qby8@o10BOn3>mr>L`20W9Bb&SOs|$fLu34_ z>j4o*OqY)1<>QH_6m~4`!g{zC*0c8r5W>#QPPrv1FNH!CK&83n=al2AyfUEC4I(pX z28*xbt;zzE+PLS5XDVkFYAL!jNF`XzfKcGB!8zLaOOu z7K`LU{pGNxgY_LyaB)3m+m(%n05-p%)zQG?XMiE74kZJ4WAPN)_%N)01WV1l$M>o% z*KU(BL(8fPX%{qS`r(S}-BT5iz%*1_yA$ndl~pR>q)+8SVMLp_@Ey0_e)iN}fI|je zahF@_*xj$v7L5)czZB*K{dcG-p)j>7i!YnNvcTmACG4<8&JxydD3=Gl7rSy3!0 zRxu{$>kcA|YT{yyan=U00s~e`7O++cgq)QkTT-5u${h%zVi8Zk9JMoeN$lKacZI+7 zM-LufJe;f*RV{WK0}kB2LkDI<8NSRppCy@>Wn?!yvPu=o@ghS0U@7uP-+TWb{O&)# zbn!ysV`F*H&}xf{X$XgU!&QAz2kpnz)dhkJDY85(Y1X%-llvGh!U{EDQ!MIATNOlO ztJrmxQR57?S}ke`uB2UvAl2_urv*eDT)woo**x{s^H;7NaRe*s<#|1{QKt27 zEp^D&(r6P0Tsk+}ii&brDpH|AIST6LDgd;dw2f}nepl&OBMcS>H40Fp4q%ntYAFli zim=;5&H$*Z12J~e7j#N6RI`YJW?9F?iHEeTUfYprPhk3s$v)-mFP!C280wZ~b{FdLIw0pGfzJAthJMyF~l&r2{T$Fg}0B(8|8Gif`&wJsxFFM>>( zRgqyIcM5T>j4myU-?&Nl7%;?L+@DS_m%{)3ufOp6^RHWLXag_-ia0E70B1D&IojGi zCk6-kiQ37sazFDXVKOF!ynVsbTTZ|ApZ?xI-CaKp%a&|nkc=66xKz}Sh-+Jl9KNiz zDkarKA=>7wyMgNdprM^Ia`I5ewL}27#8abFxzLvCkp1Zu0riohn#in@s>Zk^A&(+B zleXI{_y5d?PoF*=AX?{Cha*7|E-<8amY~B3WGs>qcZuS?SUPUjv@u+nQ_%kw^iih8 zN(tH!ScnkMABESh&u)%kM|&Fs5WJ^Jv=*hll%Hx?>}DfnVk;itlyWX*Af=ooAqLTx zQF$=6YfY-)WRMG~T*m(@xXfqyZdncw&`wW0{j4*ySQ9~T342et?TotLcx<5$Yd{AS zMbgMrU6H!AsXJ9SKnjB)Dz2jr!s^HS3tF=XTkz!J=xxCP2j9Qb2H`(Eoeg(;0giMJm#O$N40oK+A34XF$%SK+MGL!(uP+Xsi1 z3}|jvlplNgU#Mfndw*~x8$`*f<%}BCaj6ywBa!O}Q2FG&41l)a(|U*HqsdJGs3e3^ zkx&w-C?)CiRPgckx4d ze7t8mG}3eGob47GDF8|f8eC!F}VzCQi#r4u^LTC zq~6gn#ju3gO&mGgNMHWXU%mRmRfEKi!J(On9HB#+DPeMZj*Y4p@-$CAE+zxF#DvYG zK8BbPO>lqtGrw|p?ZAg4nTH{YR%8Sk!09c8B7jsYdOa7Dp)ab>tUCTSULzM_{_>YD z(xLB8#nPe}Z849#tfx^ONw=*n-?Bogmt$ZcIrOb1W2hh$s<53Mz4IOK;L84{oO&mz z+Jj02C^#*Hm_;p?I;7C?T?Ktcrx-vzCJSg5Z(Q!hM|tUjyB9B;1PM}p@0>>^ju8kW zB_D&1^CrwuGKlz=XgaWyVuh4zb1FkZwPqb3mZ^k_e)6hm01XHNN6zPpIlOv(nx~(> zcy4e1tSHARGdVVTz}UPhP_+?g@IqITCI{$ z4~Raj#VhdGFfw7w<%TQJw;~uScKR!&^f+Yx)M$p~^K%XQ;}oU-p;o>giYr=->ZAp1 z#kxiv;h{3a4Gp(>v~n;OC74F8$mzC8=B{_#mEz8aT}+IYLkfcM>~6b-au35278KpQ z_I~o%Gq3#QRSIZqj;&ym*&~<$M1DI`5?4fF zURfkdB0nm0rUWU)6lJ%ui5}karrUr1z6TBtuG=~9bR((1p3&mDpnHZyF`UaWienGH z&Sh4rITwTcHhfr@s?s#ILTY|T|3wFdgH7+T~*>9|kVRxsGU zK`Rj1ydbF9?r>d!Cy8mTpg>J+8!D+(mTBVQCYJ>>R1Qu6gu(NxAQU~CIJF{6U3xUs z*Ja?^AmW(6*DO-mBs}ys^3N7U`+5eZ71q_kT@R{R!aTNam7GRCK%bIb+}c$j(fdw=Wi z`@^lZqMny>c#mbpCKb*pXFHaO_ilyILT#_WVp9gjfkj6(jMf?-mI`Fu$@SIPWbRs6 z1aV?70dr_=^?Lnas){Y8m!FogttQGQ^RWhY+Z*q`^PN`Y&vMXBB_L`qTdZg(s+E@5 z7qZ%78=b^8I;>S%URVT9N|~>g}sv)n9<6az8m z4j#I|ZX8Tz z(#8o61E;m}CkkPyw*ESXU2l6n5gAT&Zfd;bR2c=OP+e__uobIYU>zdpx_<@GD!RSI z#60#ni#AcGMgWXq8M~-eL$x?)Lse5O9;=i(jfvHKro{B-@rCsn_lgGUUEzKJK&R!m zJRJwkt`3sx%o-FY!hX3b`J*D;{aEWbr^E2(_E>^(%|WPRlj?-7Cem;C(;q|OkkKHR z25pjUMQZ3Lr~J1l)Rg@XDL6DAc+dMdZbLlsVJGHYuq->~DE<9Kyb)pXKE^!`-?sDDNnFM?WLSvZ`mpRt%?_&K za%*E2--;2LK<_-Xiox(GxhgY^_4=Cs@oLkT7Q~5%D;z}Xw$GKFq9eJiQbdL0ge)E@ zrTQe-n>Zc6^PO+mJAFFVjcrZN&8@^!8K^}yB5Jy;Ng}!=$O$U<0MY1xE075Y;Dos< z%rF^}(KnAl!EvA1dX$x zGuh5^)0C0|Lf%sr6LAzqR~fO*F*Ab6n{<2S3L!r7y+`);&O(%cl8k02^;xvx<`JL{ z+X?#oR4fMN! z|DED!eF3#*01VBlqP#NJJcn8`G)P%lF3|i)s*rE>Rly?R21WN0#>#fZ^N7tHtcJ>3 zL!suOPo*fp(3#BGisd!5HV|9hdv&7VSY506=UC5f+z^J9EzJnb8!@AbJhf5lO3{_P z+?uKzuD{KsklyjOJI1w`yMAC?aDPH3br*^CZ>2Ik7*%vAmyM|Cxu;4ZFjX5-j;p; z#u~t^ScdIaypgujdmT_Q0++UZ{!2}ypj9!dlAf$oaiXLlXUfQaa(M3tKWND&@p?gN z<%l0Qs#L2g05GDDQDh>B<$em=-zXum+yzrS!KlDtQwpP4#A0gCNFd1(EU#SI-#-(5 z0Ea>Pduds64&;NGTuOm6N|mudY2b=Dpnlkzp(<#NQEMMYgo(w{k)?sgA~*{QuA@-X zqTfLXkAC+DVD=`N^D}Dn)nHa{ctbl@oBLti+*R#f1Hd$ogujA#`3gb-lz^C2rMi8OayJI-R1Rj75?a!L7p(b~zt+Q{=c?wknG3 z!y@e_4AFy^BN>ZI!Ok$)sPlo5mAAR=1xoi0$IG&`b zQ{Fo{1h{!lz;3evq52xtdv>O%?$?R zH@v9JS0c9b$I66ED^C$YN2xXU9CEnUQEm{UJR0a_s@^|PG7DA@4vBX-YT~uCypz3@ zrV1!Sa$HD7vWtYUfgG26Kk$BIC`!zdiUEn1pk*$ydwS`07(uC{1)(TaJ%5)#-4m!A z!L}5W+JD6WOSHY%_zQ;{w48rwB`mI5;`0)G-=Q0Lz4jqOVuq^AmbaRlkMkMY* zCLCE=z%t2|{IX0rElnYMlKBFeeTN`)f+%7%1o_)!DETluF{$*rt(Gd#U;Rst6-!usU5C~lG0=O^i-PxHrr@QNwj>@c853snncXwyzoIc%E zSzl&;`F*A!-V#Y6+sl$UyTu}63{eT5Ze4r~PE2b`+-ER&_dov8{}i8s5+P>YpSs4N zXMx=^2+pkWdfuH~=D8aw^=d;a5MifP_L})O|=C!UrR6M^=e-0 zJ=i|Y*bZqUwgQm-KlsJ3-d!$Q63EKfZIDVkLfl#^Lhm0ly;1_QS_!U@*0eyQVhCb| ztBbz}q!RR*C{y}m&s%WoBF4^2 z(t%)3RrH4F4_8fnn%rvPEQ4^ipRMmSJUDTV<}zVSz`dQP^ppuRw)-(&vC|{wYVs%# zz#yM>06ac-tJ$*Bn94)X&AkAoU-M}(7rAkcsLx6wy;wje?$T;?w_)}#>q0lt= zpsgwyEmt5gauS*f*cvn&L!fKZ(0RfS&xgR|Z9XQ4qZbTY{vBcjKykR^gz@#`$2ykv-g_TBJY20?nS*f@WnxDRAhK2lMDY%?U?Z@gE!Jz5nUK;!Ud}8ZE}i`vcmYqEd_uE`~Up!e{#LQk^ys(9?J@}fauYb z@VeZssth6$rO8+)<3J{ZGAc!UNQ}ZE(eMA(*MI#Ne{+A_I={1%X7I#WX~o$3G{&k$ z=x{RAWbQ@NtQg==5z5k2mfBJp5Ao!^-)msgL*}M?C`F34cxg^o&7kp)1w7|lx}0(f zpa0yaf9CU_t$U%GC}}H9ytahMWt|f+o6TZH?V_UErVi6Hr&cX7ts{a}L%%muP^-6q zu;u;rlgI{T)&`q1oWxY7y3%q8!MX*iE4Y|qh~%4d%B0q69j6$xDCxI8qhS^35~5zc zn>uta$2%bX?YFI+S^+MtR|!pXY0^_^F*a^CmjsibDh$_ycSRgg%SpVH<_w$kV}l_a71UVL5d+MA9h_<;DTOP=TcHV zEfxi5ql@1V1|Jq%vci~>=$ZufOxx?-meCnHEEiU_o<% zL||7ZNVZ&4jKMiqaIxqT#1!iQzO})JoPm>hL9hOYKmON`Z|)hYCG|j-IKl>VVYrt130I+^lRVKvWsZKvj;g?!!Hs%kNz0b8`P;Ng4 zI6itb8LSomE@XBXeRRv3HN0AvL$m_9Q!Kwx>@0AEQq1ab42^hz-GdZ3LzWX-3qC5I zOIe(3vk%7Eci(+io}AH*+SFpsy%HQn*PMCGn4I;xd$wD{Pm3#qUpaE2`3-7MY1p_` zq&htNYGrnwRy{rZYVX}LW)<1sfu%Jj%r>t*;*9tKGC?iuo*4l9~wC=pNW-l1|oYNhS9)vT`3^r1-<-~>NTFWc)F z{jt%s;o4K|j7Xy?dL2cVJtJhx9Qli%{aN4x&^x0?fAo=CmXhOxchcPwNv#4x*TpgC!ynF?6od9uQVb%(l$rh;sRGcF!&y*fD$aKz*ECzyoJXOvu21xrekS(=e=fZZswLvY@B6 zy%MCUL^4x;fQ|pbTf7CgxEzwR5JJp3%4L;BqSV)v6DZry3adWKnQZy;Odq| zbh$7iM;#B-`fTmR=v-eU(J_FOA0D2*`|i8Ta>uz%jslzzRtvP;lHI9`I3KZnhQ1FJ z)F9WDxkqMy(zZP5yLUyDxz14!&xudpa4C-SwUrQ|OQg2)q%J8*C^bfN`*DUgjyL1+?m3=k z=B9=i^gGzy7HR{Q>fu#+rq~6x`-h|%es@Qy{wGQJl(&kr;#a+MQ2-Zw=?h;1*!SZt zL4kfpyfOs0*q9CGNvlOPn97j>d8rf zTUF-^KCEt$_?t<3!PYquV`QCBa5A#C@7uDvBwYU(6A{KxU~hpW;J){_@BQEZ+n>d2 z$zIVJS~0l@7sxiDGiZ&mtGg^^qb}l(BO54&xUP3OmPn9%G-y%?9NF;l&wuZq-5wvo ziKYWOI&<#Y>X-(Ro73=gjExf*VbqUkB#3IFgY$F8)`{)&+qFNe>Ly*)gFCH|=H^6O zR&`hQDrs{%=^p~evaaZ%kC{n#kI)zs{PBxl`Grrtd?6pea%Q(ICEpRt3E^fGgl;AN zHe^o`vY1X%l2W@$Pn1UqfZg{-wFLw)m&Kv7M%9H+KJ-HjAH2P|C1GYq5ZF5M$1aYF zHLXjBzleK$4q-7;khSEs6_!e}WiPG?e5mk+0WK#&(rZSn<0tw+3>6%`?U?bezVSEf z<&}26CPwejP3^wuL$tSAj>B95GB{EQoEr5bBN>&Wk&T|(M}t>~C&gK;+0Teo&mMoT z0Zt)h-t3(Xbt-Z++EP=Msu!#$Fi+=)j(Dq(?aU)+i>P&KVe-%(WrS(L;t9a?&)5J( z=SYq^$dCxDI=rF?*AA{$?wVRC(=FxGDLIvZrzg;48-dM)V)EE>UAnaO&8STU%BSy= zm$Q-js29s)yR+-7y9;5oj<)@Y2%NEp-=!QTbb=TGatK~y;vRhB^swK9)LP&D-VYxi zu4JtE1+cM3#D-#iI8c%KbB=>VAbN<{k|>^5q)FRB7 zCK`EC@1c$k=aB6jcnMmC;8~BML!o9>G`Y%8TgB9rj5GUpUcLO>XFe+ly{YWiwo)Mg@SyCTea-oTJ_{w?Lx|C`{2Q_vCgUK1}!cmkJcoX zsy_|ckq`qIiZNPiQH0Y(?Yn}tD8g(7*czk5bmHq_YXy%m*GXlah1rqeyMOmRHpY<| zlF}3JzD`@@kzuw@rEjCKvlIe(EMCeqeQGy!I++9JgeI)GM+df*;lmrGlp-(z;uQBU{ z#wZn^P6lq@-be@)rf}biEiU(HjORvP52grk?qy&<8)*hH^U>7q1P+>B<^4hvrD*0| z_&lmNWi!PQgqgqcb6;k@?)%%tI74RNuUY)JkK>j(iF)jjIWWc}Yy}l2_UU-o?uqew z^?&-Oe`(BWtU*d(n9v0E*DC2=*&YRfE>;#vuA+;atD1qO9Fy|qV+@N-c_Cv=sf1mB z7)ysgR=1=S2r=w|j^+ROU;o|P4|a0IE1Jcqwia4KXJIh~wuqBW`Sg}z%1&s%WGpfz zpUBx5JQ60KIMan*{hL4fH`nda+Af*ObKz|4fsuXGcsKrLatLnpMf8It8J#VPn=-DccR*F@}$CaEq&RIcKxf zKAuKQjA^-BGw0**%j(*^yc+4!;XN(om17LXmWV4d@W5D7rJS;nDii3$tqfktR9Hqd zc`qyB{U5&n^z>w{`a#qzX7Z1j^+tNS(PL`g#8Z(KPCcl4xSqxYPBfABvQr5jM+K7l zjEUY9)7QzU9BRh}Vd9jvQ+)Vtz#KK9_iMUFHnc-{Bt3n7j$wp3!1vm2t5-Bha2zu^ zFqL5u=1SIynAWi+4eoJ&ebv+KgqYd&t5?jl3f7ec=O$u@8}%pVQcVTvx~H(Glf5)J zKg+?19p*ILN;z5UEM^ioDF06EaQV^~e=g-4v%lT0##rl&51S_MF?dju@9cAq8KMt| zA^UXPeAqa_x4-q>*FSzV#w^aH9G9}1Mbb!!uBf~#A%c-=-Iqj?4?(XoNLDuAzTZ~2 zh-z&RJ5sh}Q;x^6TWfP-`N7L^#AUtv)?a`3N8kBqA?GYEiva_)VlH6TqNC+<$&kpF zKzRgzxm*O=q>>BAgx2i)LDp%hF3HI3fA;IY^Y!2Ox{@e~Euw44q&@Mr!JrqYCJ@n9 zRBM_~rzT8~X*5D%B89-H>gpeKv9|PRol!Qf@x|{UQ;~DA@i{v-+TAnb}vUHs$`GpkeyQaDRYPFsy#)g>4w*s zfG`BxMwl`+k(mDynq6CmTx4iyNc9#xv?kCg;-e^R+}>eg7$gRGj-R`((r6L%h>vGT-xhwe?Z8HmY+I-kY3df}uS`>HxNCh>VLjkkSGH_*($Q(zOVSFnb*aAN# zlB!Ix$e)ii)~FDocvuLF)^O_-ag$PjjQi_rSvH1C3X+3yLg7M`@q{R2W>9}5C9}Aw zglieXt`$PgOc0d*l^LwM(UkL5-%)*SWrDFjCn*E)_rCwGSQ+<>k9!AEL(L3OXfjTj z_$Q6WZU{%022L>pPFYb;e@7gc3VOrNTL`>{TBz6C zm=246Lh2}5ty#ff5wy_Ro>(tg48Ml{WgSbOK7PA`-pJM!&k4Ws^S|K3V+fnUg&8s& z+wmkBM7|vlh#-R8zAR&ozWhGi;{DaXK{ns`=HI<}b6ecPn61ddV(S|O87EIMEsGN- zR&a|2mAB6sAOW&96oXfj+9+gl$mJvFlzj9g)_dE&TjMx$jM2d5-~HRac>M833(=+A z9dj{km==>M+trqjRf4e)#qKTu?0r}-cPWW|qkJfIltKY9*|W))Kl+0|{=z#ybNFj5 zlVU`ZtQml>iDSXJRs-ti(hpyr_*mGghi3<_^REf|b|oX|;uYxtWl#0 zFt&2Q)YX{Jgjq5Mhw4X@j+35M;uJpjnNPpCyHk|`X-_8Smc*I5;k;f-bLFqtRz(FH z6Sf?*#+7BN=8QbJ8EszGD3wjK+=7x4`VZckz|OhI9QRQ2cPe1hpvl48yK*px<5<=u z>lpy-Q-swfF@K|~bX+5b!OB=-Q8^F+q9hy}(29ZZ&!l$b?B9L&y9{;Cl`9o}R0{jP z)mN@q?I*0f>w2hyv^;yAR#Q}>IRmY+S$6$IXYLTIG41+R?}3k1K98sMgwqm*UUKb! zs9gf)pQunyp%O>3LDjHlx|j+oCn43o&TIRrl`K0uV(!6Jvyj>S1L~6QpPXhy30iBS z`4z_4ZY@MLen8cNX)*V-YbIRF%D-!Eftn5A^BV5BIv)6D!q-zm*fv|E6;<7CHMeE> z+{@3s^Ww7a_r~zk?O}12Q;B`Yv5|o+QI!n)aAS@#9>YHQ_wRpbEQf%9{^#FF8JEi{ z-<*kz_kMMEoJ(}GwjiB#U1JJlNXHO@NWBn&KW>+0$tf)b^WwhmFV;&5rXe_Ej$?mu zcb8(4&N~L5bFzQ)r{DVCH-2bDgaj;rk^J=78|{c110{&FZ{y4{KG%KJwA!WpO)io@5;}&+z`#ZivER8xFYP%7|<&4*ahk) zJ(trdizDhi=f!lnVXVt+ykUpQ!&YwWtMQ`v6K~Xk4tD9iR{WE?jV`wM^2Pd@PrtK3 zWu)btHFuRc4oWduCu-Ru@Cw5HkPud-BUR9#<%3j(xawb4UM)*=AL<}3i7EnEuy7v> zm@O~MCW9j*-WmXNYElq08X!TyVX^3UK%@`KX8K`TnJQbyr<1!5C{Z8NN$`7*Cpg%v~h z4SN*hNj#}*^h}30;V5TuBf~O2JB0^C9g?O^NN55sBS#%O4QiG)R#z?c12)4BEzTN- zU@d>3CYQwAFeP;WvPKYJv-8TmU7WKODFh*8>*%da&()zs!=#1_Vp>3y zg_sL;5ojzuGVHj)*Q0T9k4d$viDZPRS;$F5TjccAXzHTrP{v3by-;i-s+@} z6CHz;RpOD5a+b<6sN5#&sQ0#QkB@K5QLEmfFkCXbx>bdc&9Q85>hw+(VRx%(gpL6# zaf)u!`P$=Fr8JCx`d;o}kEdYN_1Q*t&ZnT!L+>-X!%*p~RV5zlm7a&SUYMT<{x&|L(jF#4K{MmQ>L$XRUQ42#Sjr)sDnBBT4zb0phDaw3T zAc0r$2(-AAg#%QsgKc7p_}R;6{`24c{cV3VwpYR=Uj)+pa}>!L`u(UNBRxI7DAXvv3=N+=G`~01ginuX}gXsHEi-)@3#)LLYtXaJjr#3 zXO5WTXI{LcgR0ukadznpG$9XU8HWWGpDhTHv!?&uVvuX?Ql6GEAfmKW*-`3M*lTd@ z#$@zAezL}~)Oz=D7~y=VL1>6!Syw>t-ea>GVSpG4xK1&WbGb{bqE3I2Zeb|s6^#@? zbeOGtRYQTn93wD)_|b=kY_)2deFrzR(&d0UBI`_gz$Lo~|QX88mTW&?VlQK&4 zm82QjaqlX03HqtR(Ko}h#v9N~^qs!5IoA!UV%rG)+xQf=aX!7ce+_XEjN4h*y33=& zLjC#nqp9G&=0MXWK2@5eW-}e&)Z%(a$n{4)^Ui0SNr2($>667S+iiCicK>88hHxO} z6n#!nt-q1*X@6w1KV0vfS%aq^{NQ72j9DP1Aak@yL7NZ$?sAbmLTU?kce&)0bHO#` zX70y9N`05K9Ujh@|N4v(yR)@|uojQ(a!Ug4Cf z4Y&ff^1e&-!4M~9CpI0?(*5XFrKA;f5xr4|Zg|EB^ivEq0UMDKE*nI12tf&5T z#p&Hx$~qoa?|KcgZyp|`ya&|up<0xf)q!h;u%;t3XW#@gr_$b(2@_DyFRAavDqzsl z{u2SZHBfVpQ7sNWt2pV0p@HFGI%?Z@(A+2hY^5$b#UGpk2*Omj7)gF7YmXQ=Mhi}$ z{e(aDH#DCPHRf{1Bke_g>LdZocI0#HhCWNtg6FBbF&{fMvFeC-h>6SBwQn7OZ(|YhQEBU;O+RLwFL&)|hhvvoU&PPQr5a$3akFrm+;GPbnbq{q>`iJhFX! z3Lky=#+t=ijAD^MWVM1AgI||5YpN)TwzVbFSs4Rh&e4a}t<3BXFXQLHjpr?0R7@#d z+{%gfExfqAbKLSb{_H=dLqL<0ZlEP&MGShe+5l1WYG!uJ${{O&@?L-sz_IP39~#jb zA40b1!2R>z|HI>Y(>b_?_*q4P323BN^C~?bnF?V0x*PYL>v?F*JYO)L);RvA<=A0h zFX>Xl$1o8D)eRQ08xs*X06xrwh^}otZl#`Na0=#orp2YxqO{P9bh5tAX#5U&v189!1`|-3I&9wZz3~&OE z#W&YZheTYXla4YYwAye7u{?F_xh*w187;R@2Xp>3feJbsFbrrhZJ|@W;`wEB|N6Mf zwyCBZv1f7Js%TS4)B>qdI|Rt9 zb)S9pnSFoQ_Q!R(+m5I8&K`bG((D4}6oVL?WDvm)?~jz@o5wdIdq{uv|9vB7P8{9h zVooV#=S)oT?(Qz<0)efy!Fy+oweHxDf_V+8lBqOCFojTJknm@YV;6G-+K(LoLx=_~ zGlnfVT;KoB{rwL&BSw5|vFscNb}@-zy}Kk1WKGU#S(cP}Syu_#87*;4ssR6N(z6!}rhNwCklj5vs@K~Zktn4@j$ zu1^E1uL<+qE||pC)H9GzKdacVW-v5+wVfI?T>!7OR7dfs{i5a(GmEz?)iuX>xvWM+ z1q$fr0#}p7CS`7+3@9(l!i~2>>R)S3<|=4_4bm!|KsQ5H1F@dJkpWYYW(Q=jr+o9q zAz5JLm?SSr$z4`J4&Glbt1ReTN1zZBu;_3LCQUiyh;{I&09wo}MgM9)b*@E%N(q;X zAU=*{$YHfus44l>f2mvCh&aQ%^Qu7bNh6I~9|)&;X_ySCpxd-Vt#G$#%@J-JHd1X; ztdsF-Wl=*?)sUqgvg$YzpIA^mltIggyB$K!fqG4{7Z92=t=?qrbN#KAP=B`NbmPRX zIQ==$J_!Ky;tO_w-a%%YzA{8ZcVoumeK@$^emzfy&f%OPjw%~Wr$euX&>&}xqjJ&_ zgXZkRjo46Qz{pRr*4!jfDPTjoas1^k{H)<Z}sBmgN$BxGW0*Y}@|ga_9YF3sBA8`_7uMNjUQqras_NIJ`K3m*T=-}!_6s-yzK&T5lXuJJ<Md1{y5yaWO4V(Ec)(N`=wbb7#MZJrItB! zN@61~cRYD-#Bq~^=L?yI!z)c!XQdCJRPJ)t8=~XbHQ&aemcrpEo_9*Zw2WF2{*cxJV%q9@yc%l&>d{H=MNTGB&;&wu9gG3_xP z>+1IX$vJy1!88+6j2 z>IJQya%H=UoTvkpu1U!*O992pnsd^>R}KSNThd8qj%|l%-m$NK^{f9dWsfbIHYcTa zCaPdkP0&Um2%t9{2K}QAiBDng{CwJg7mxI=C2gm|C}Lx+LYF8Q85xdMe6AX)A$iSI z8f0p1IzG!ARLV_nfT523DnYF`2MFPAxv1lTlCiu{{gVW#6qB*#bdu=iG_|Z;D9EA! z%Yu1XHCfceP<@R0k`?lRsTkZ)YlYR%l%Bj8XH=MJ#IQZZpkPSK*`SsU8QI4`i>r3k zl401AY-JQXWiloLhLqSAv?^CFo{w!(hQ&TWXKi1rQR<7C*2S1{7x zUY~8*kk}CGQ<|E#b8w|z;J{HXm|m@Sqp16Yz`%+)hHe32N(|eIr8zmnDZ!{Zk=?VP z;qOs{c$SIQie8WSyo6+h(m5!8|O{TUG9J4l#)VOx_P)qO)AKDDOdx3B39CUwt35F&6_SgJm!b2BrT` z*4Y@MTg%Hjx5VI`waLfJaskmRqh>s|fe1R7g;Pr2bF}$aU&hqd1CB&~f)0(EK8iyp`~=S`02A^()eg8zlJ*c+ z_a>jv&3M&vU^zo__t-Q%EE6SBq$f0bLdnp@YO^{OVtMF>h(!^xtI%<8hs)cDzdWfF z;n19`N0R|GkTE^&T%LEPlIKGX1-%BfEYiym@?Uv{%of0!0!4F5U~M)k(+qur4|3*| z>yHSeZ4VhT$N)DdB|E&i|3uB9aBLi|WaM5R?4tp5FRblKnyf48?QNx`{wLrOOlSyZ zwh_bnP-@w#MtPp(pQai>HFBLgP#sj_1SHQG8~aqk1R>f&rJhN5%P*KJE7kIYVHAv~ zTQQd@b!jrs9wAd)Wtw_?Crg1-^Ghkq^(d-RGNaPl3S~n>q!&b{w%_Tvn_wqbp6MVS zxBbM;NU~_66XF}NSE~`JbB&Kx$$%mbD zlJToR1c!f$X(u$-?Rf9Kk6C8BO!+}Cs@oWRuw?ylT-KEkM0UW$7}j-V&d0I8xZFuM zA}LHij$;v@f|Mc>9)2e(C@K0xfYvVQfOo(3gU26lH3%AJ%H(85*jgWhTO~`4xd1LF zvg!x5<;|W%2&YrxBta|6Zc){JYttp>3!XcYDk0h$k_S-y&f|! z+M&^d=fV%pvcl)Z-oH8*oroqO_^EM)b-y8Xqs|)lr*&Rmu(j}dM+MKBU>|AHk4pXI zmQll+7ty*}M;5t;`I2-??ypu!D&?-ARZX@v>>`8C8;GJ4&)_MGQCr>NrSI_=@|;^dt*KNYB++b#&;V^flD{`& zFR+i(dnzIVQg3Tl721Ayc4eP_#E!uR8ih}8QQ{d0?qdWq1EF@rvCX>mr9Z6Q5t{~; zwq_@xvDVpyfq#3Efx0yqJ?|0Y*gQkg96Q`?H4DZQ(E#S6#MFZ7Bk*wIMxLTSoZty| z2NA@%D64@IC&jvv2#RqbLZ_Rw^re2Trkq?(mv>&iJp9|+_OU@rz}xm<2)6Cft>(79 z#gZ5DE@1ZXx8t}0^3(ok491wh`5)d59*uP+Tp9==IJ+Q|KfEeB>n#Z(l|K6K8Xre%ZUz{QE?Gi~RQzD%0~Iy!+4t7-b? z3F=a<5=zq6N*28k3Dpj?e6Mlt2*=`FOwn0~GIxMPF=w}~`jo3JLaTErLsnFPwO3}V zXJT_mQc^E!zpGpR^^Y&NFFgj6Ny`o*74Lf|q6C3lIru@?BN?-g!7fWRS4=s2!Mr&w zWK#&D9m6DHC8eZe2wATUMDtsUo;m03*tlyWg0egCMEV><`%|-W$`)HTGq{r6rfa9P zaxPmAK-}~CjwAbXt97AHEFLF44?u~hE7Eg6=LX8=XoJJ`s%fB5Yurr-!H83}A4NKf zYP7IV)MD$LhryIj_d(Zo^{TZY^D3=tM9@9(h;Xv8sbZ94<4o2sJ(*~-_Y=Gy^^soc z{>c*F)ODKZ6jl{Pj~k6-~ZQtl=cHK5fB^c7)~ppKao0p zQvm_Pa5@-ugVD-3ozUa_J4KN3((_>t69r{(70*ZHlL-)Gk2RMni+_7+vALl zM>vDY5oZv^YH?2meMRC&Y!+KrCo@|S(doI(vzDhyX$gWM0vhv2Pq1>1%IsIOpiCH@(i^i62%hbiZQBr9UqSgY$= z(9r15;wlW)qd}y=V~inE6GG{g^r5%iOfD+m84WR*(jDlU`kLnVpN2E|8uWYlr@Hl2 zcsHNRg6F1=5%x0^M-ZZF3kY4Vh#96(IjXMbHdy^b^MV;1fxhraPn#D0NJ{`b+O-2C zcl#{OzMvH!db-q_N?41i(p)-?VDs|7O)HMBUtY`RuJmcV*AWaLws*89^ zOR2_buB){wHC6(RaFxe_+3jze6+#ot&1?WKZdvSd9MLWCbbE8RzSy^YUDw;~1|@Sp zm_tq>rr^VVcpqa*xnzMKe)#(B!w!(0H8Q&H7;)Q=_2QJcz{rOWm*pb*Amwf!eqY=g zMYvvAr7Q!umJn~(-MNzA9s5yUDnkgqe5i;Yy!*++M>i{^6{8z+HQ6vaX;@jPc*V=FR35IEdCSxsAr`(P5 zY)i36QI(&iCZ}!CO6oLaEYzjcT2Zen6Zfu0i#|h?1aU?%vc~3Qb|`|jmo`&A*4}TT zG2vv%F&SUisYn!eHDgkY%Vp&fWGzM@jdtaneUJ|J)M=a*W*jD>%Mx|9W zxkD5jMI-sA_PDS* z5)9_-RB?jtw*sTzGmCf=63kqbneGZWXal`EiY?Z$5#pk48o|>>Xm3Ex$rk4U|MP#a zheKq3RuP+ty{9EwfiVG&a&L21>IlC(a84QD7&rbYWj2_=>ReZ-F7^x~acvbFhS^x6 zT5WeSCsy2jIx8F07dW8h$IPF-`;>*W9}nW1opL@>jyVS*edlm&#)9`-=0F6u?PiUA zy6p%QJbwT0KL#wxqbS0#m?=e7O6CGaGpU5A2Er`X_9?l=sgkU;8uD%1)@Ai6YSBMu z*!SIvaQ(g=gzn+Z_TG0suqJ1Y zELOEKtJwb6f9vZDxLh!rP#qx?wi?Tn!sDoP)nFtEqwP1h)zCWTtqWUEVVy9lY}Qc; z?NjA*6ds4G#J8+!Dm~5VeQlU)v@jaSlkVK}jvMr{|5!FX7!GLM^TugQlES5vhOXiI(4B5fUbhdq7dNKxbHH z5ZY5AwSd#=XAlx0GL$FYl@(b_hpgPSlv24ok%5QSWnm%hY6G^snknlx=j_8lHCd>h zgxEvWG+7KV_2OZ)e$2=TuvPV-A163|>ECfJMhqP_80!ty-?|k+YibXz<}=R9h8Lk7 z08@QnzPB_487e#<@KlW3DK|X{JjshS3`xzrs%e-L!4xlBjheOZUQy+#3f2l?HHjN5 zw$hlV=s$J{jJ_U>lc^p~V?1tJ_npK}GiXQUYi4MB3Gj^9EziXx7Kd^O@Jzg;6*1y8oNRlFS}7jZemErnHW+Ol92bonY)jF z@U*>&hAb|GR@jOJ#*t_kdSgrqlAKC_cWwbd9|{&01rt*cvG;d(FGLnE7&0-Yobtt9 z{^{@jLAV}(vGa&&gwnY+L5+^Wq@kX`$W5Hsj;B@An+Q!s9vTI(-W;qY#m3O-hMFzY z=m)X>i|PUxK)6wKhe|(8rg5k1Ic?>ZIl?GYz~ui3(A&wi2qu&)w$^4&+TPE?j}~I7 z$pzS2CEHnR5@#i@rX){a-b}RHvs8hSsvuT-lO{}~5-ro6fvKO3m>_PxAlaC8juukZ z4=l~tu7u4w>f8#;;7Q%`I>@0lb_tb9*PEuEimc_rO2{|D%O>f5=8(31S8QKFZZDem z+WLqK{S2FNTE~$vu{wGp4$mG|%ekjG(0{zj5{`#BbLM%r7pp!Rz3@6AU*UV637<7a zbecc~c90tl1bVaT#2TPlvv0w7M9+3R8t$0NRy>glCJxr~5I%iwm{q$@HD7LB3F?F3 zQ%9m-$S}X@J>@RWp*^iuV(&&5^~BSAlc%{`gyy2yK69V{;%D2g_Ih(cZTRZtixhVN zpLrKHRZcPH6um!kip<$>n0_s4Dw-L8)@g~a&DCy#Gl-|SiprRr0mvvVbMU?D8Kdfrb3By7fCaH=`9 zKnas1LJN`e#>eSj*oP@Ppq@GhV+)O?-uxS7t7WXo_^?4LkWhf6M&WX#2~QSb001Hq zBCVB7zala*xHU>kQ0ZKm1fyPk<61Z1N|4HsHxaTB-ItMY~pkVLex+sHUFv}E4a7D2}Wj4 zwV@=PXDv)O^S6$E3FqdHM5WAiVp~;ltDZb}#M***?<+BmHaJenEL$|xk9@h(+;Lh> zf$AW2Pn&d+Xvd6bWW$OJ#}aDS!PrE{dT?#Qo|z}#g{DAUbFu1)Pc&5}%61fw#NK=D z8)ozzYX6~~Uj0i`0Mtt~&F6O1`g(!60}|+N7=Tkl=G6G;bqK`SRpA+RL&iiB<#=c9 zr(Ru-?O}EH{^5fc7x(n`eqHGC;qBeJzP*Al z7{JA@$8Ep7d?CfPWZc3rLuAX&2KrzA_5U2MH$YFuscLN1#)tNNsIG_FCT{4<%#y?c zm1;)cPSYyv0&I{?`F)nZDd$?nt15|5)w!#fohoqWY!-V~ z#42l|X%P4E6Fkph!!!zrt*9kB*3@!Jg9f&6D`{0WB-qv%v#u*J8$pvX`o%gV6LWUP zhUo3$)XK%l&_RmfV#QaD3|V3_S*#h$2_(wDO=gx@#A=~gpl0ck0hsu9M+*@W$LQ=L z@x4Uba!xO{1lS;i2LP?l>W;>o<8c6knjXc&lQk&THA+y;($NFa^^&;*VHbe$}X9=mRVR$+9Yt{HC2vN2}|+HvT%NY!TOYb{$ZKqK5P$nxbBWV1*wt(gUp&!pQ<#?^0&2xQNJMMH6^29zw+lx>gz30`P7a=dnh}Se{pA4I2=jbMZ@x{aq;IIv7M@=7xfoAB8hh`g zPl`e9kI<)HzT&)Z`~Br&$14p)1xu4Z#!_hZI7HNiki`W9N&NM z#{{M<%0=Y`AZLy-J7;pq#SBOj%F3MUUS7?{m|oo7G3V{JEz6RUBz8e85q%Oc3#l61 zEc<>~xcuO|uXAKD*{rhIq$NNi%N=7j&N8BNOOD!hhUlZbA>Ot_IAI`EN7`@Ovfgpx z6jLJn(&xYQD_{N^b3j{fFSW(my$GjCgxYv$6vcT*)MwU5R0o@@fsr0Db+OPWH!8hl z0wB6iPO3=Qwrc(PIvB}wev0$yTbrc@`!3O5*VsS3sxVd0Ds;fHda-XlL;HS{xQ3E^ z*qoBHM(3l95QB`fWqHM5j&h1f-T>W#Ut5R#ARJH@LN0eWhe&J~cwkXIG@AOnP>aOQwARZ>IpDMOHx9q2S>3GS8llq3AIJVFcG-t(g(-0nxtfOzg;ov+XadXufA9^lekFZ~VQrm*9o;da@0Ztwl zTHLQ{aPPc$<@YP*BOd$3u1`<**5R>lmf-gEfZ~4;j{}jnV@G7~1G8nOPd<4F9t{vA z<@D6SG`|Nm+6$soaJ$_u>lzFGh$(VT1;KDGY5QW=9K~(aE*bdgdbMWpJ{V)R>vp+Z zIOEgX{q0A$S}L^$3YKA7tq*=(FA76sXp+g=np$ABDSNkvn+!qhAY zfAy=sjJ_ZpxrMBL@%6yhL1&Sw!7j_&C*-j0&@rb6D)!uG_iCl6O#;AFw5pqj=cyMO zBLL&uHC607RyC4WRNIf;skG2`PQzI+a6)sL8=Gw~d|T~P(JRx(e0#SM2q^y4kXv!D2Ye z`b2UJLKVOem4H<)IW=*CEMqNVsZb|IvB^mZRjUBGa`DD?4J~ne5K&|K@$y-Oafm0> zGK(By-;s6RK*q{z7aGUO*3Rt8cJDOX8l8#exCT8NZNZR6frwAFq|sXM%V+}HJ?`Or z!Bh31Qly_t8$U;ZjWZ)v+AfC6(21(k`s;V)*|0z-!95F|P>GQ|Dp=#8_luo&&-{Zh zE5J_2L&KLH6E_ZByNpIrXov=$QRJq=9JUtpz~6w=hpD@%_ErHWFu^oRx{@1W zCWjf42-AUa+T12%DI{+f6T{)0%_w6SQnfFcAVWBORRoPdXme!B_>aE!>&Jd*iGU{E zt15BSO8h(|L0jON&iFaX^;EsCoHnaicO{Q*&Kz{HidyI4Z9KrnSf6t(3hG#4H>e)s z`91FPMC6&aSMS!3M#8w7PGB4exbZ56hM(&9;uTqN3;)IWEQ3Ty}mPFsomJ}z; zJgZoU%WR*Bu#^z&geaSHHpaAKhLqjpI8_aS%*{(lX%<50w_HCZ5jf)M;TnE5Js1X~RwoA~$$h2_Y9azg5=A`4*ZNpE4 zmDuK1M2VS39LKSVaXt@lD3~>|`F>kF`=Sc)=&>UMOgP=U@d!CPw3c%8kIW&4Ev4NO zU9XRqb@BVn6?hW&+ir;VeFMP9$1OwRoMPnHKfabNL{N@@5lj^2bfF*0uNboc83-|w z(oZajjN!2^3jp438x|-`Aw@k7w!;e?DA8d*5=Zmn_wG?2sKvm^EDj~RLqdOex0bXq zN*`J5eJY+80lg|T$CYqyIm5Q^P8^|aqF?*UFPDv96^txnCyms*J|)g|WO^vN^fbLO zouMV4&y;vN=@Eyq7mf$bFjw<>Xq_q#)QscWE~g2Q00R7k;6Qu9Q*8_Ts9%rW-NlYN z&8VU*;V$*WmPGRP>FFkn0uttkdcf#(K%J>Eb?N2i=%rJ<2!ruZ>8PBuwKmK5iYUy; za2xX%2K%i>7fwEjG)%c6N~~_TU6=z#X|vHRE@AdZuwwI7KTV2IqAlp885qh@^liDm zg4oS9i*oLB2h!?F3D3D?KT5mM-Mm9<)o$b;)Z}F5Mq@7`wafyz`E+3`*J5v`;W_l_ z{V`+YdYB=Of?~C}nviS`uVK`J6&F5CF>uJ zG?bc%<^1w`Tg%pZakr+p9miAjM@qqm$BSF{+YKQ>PPgmRy0~q>`rxgxe)r)hIe#v2 zHNSrS1Ub_p8u&so7p*zNz{eg`(ODzjw(Xa@OOkX_6uFqtXl+!t-0imAUG8E^n}FYK z+t&3GJ-+{gPi}7`mZU9^GmIH6f)H};Vq;1rYC}pf-re0r9~NtT0nRpuxGpQCY|&Wb zYV(>|)w^@bpT2wND_{J1=1_t>YgH7=<*BO9cyOa~+8G*3^E6|+8Wc)&DQBuF2F{45 z0i7CgXZM#y+<(rER6#hVGg)IQR_Oqi0m z+-^6Oc4NY3e^B*Yq`PHFj%1k=${Ztz7%8Cswyi&o3&P^=9?on z3~NZ_q$-r>cGsP4Z{${X@Qq#%Z(nfdmVKo4m|coV>mSRGwvV0VWf8O^tunXxwVd| zTl9lh>)n34N4|yQ;cjvJ(-W}g9IlTKDF)ztyFME!?V-}f;BdVc)RV^IAFY9Z^CA!oXb~Z5EeL7js;upyLV>U z@57J2{V^r!ZCH~H8fQ|@%etlzRSV|W!``jBb6&zmy3XCikT1ZO-WH@E@=D7xzOL-(P9#5}nAa=97e z;oY*bs1^v<2fM7fZrrp7yEq{tk#P4g1(7%8S`Kci;ldbeMTFDxITjllpu028G^|?k}XePLqHO3=5hTA9O)#a>Es<^=Jd*n_AeV9%lhs zs|M%%7^mQP`ebd=?5v)Q-P*j*e+^#KQ2zlqX-^=~)EJ}YyD-lD8LKpKkLMa3HX%sr zMe$yTmPRnqT$X|9)Hu zrT7q!M`th|al1Y`L)XVg0zCEu0dCi;weI2ZUX-(a*%|Ni~q3u4fa9(;C-(YYJp zb*p1GgcvTD7fAT@bY0gw8Kq4z#eF~SE_W%#5Tdm%XMTFTzPJ;jl~2Sr?ezLbkK03# zs)uxh5$w8Tp)M3ylhblpLkQvx=C*Br@$!X_feb3x&moa@(Fc79Qomc+#~kwt%YXIt ze;N*tI>t}L%_rqtm6W7R{%G19xao~wm{?Z5zS=YMKGuy*HoH&LOg3Sr>1RXTtJI5a zHP5E0vq8^DHr)q$)-4*XFM*3Z)GE5^TV*1Q5`?5Rrqv;OfYzl;hL-*CZy(+k6qv$N zJ%n9lpHPNuf_rURHp_pT=Fc!~@Fja}4x zL8CIz)AMQGy1yN@I&z;#!8y{O&x6Jgld`r@`(KduyD+(bvM> zIpgWx^rAooxil50f8u7G{&k9y*l!1(i!6g0(K?TPtI~YdKs$=?yybLJ4vR|w!)8Iu z@#goNK|XF*YjJP!~rkEDDiR4v+*?X1S&^Y1n_xjsjZW$EdnQNmG%naTm@Rr?oenRE}9~152_Qu zX)mUYwnn9#DAcv-!oA5h;xtSLJ^vI%1wy;;$G+|I`Vx|==m3Ats1ATum%Dk2cAfYe{+K>_lAFcQ@ zi;r|KaOf1~M`?{YOYksT^Dx}q9*7#9zx!WfJNGyM@x zi9Ym`rgn@G;n^O6o>}+%(%y5B+BD1NzUap$X{)|rfG+;suYtO=GW8wGQ+ha2K;{^& z=%c<>?sDkRM{=>N`(UpK4{`$HsQv0&)l{P2-~`#e2jOOyUe`r`^(FVoXc-yR28n*ZCx%UqKEwUlk4q17%9Q111O0HEy$qlvbY>m z&Luh3gcMLp2SVx!Are^@o&18kH&4!SOp^UkKEkj4(yzR8c}FI;bd8w7W2x04gc(=L zt)(8XriK;blp7)7PaSG)X35Y*nEG1m+onQYGZa4hH+3Q9UW*51No9uT1}E6H;${sF zqN?=TA+`)vj2}Bmxz|XY8~eRP%Ij@Agvn&6HUJS(q}0ZMyy^#5xF^i5f;Y?Yk&TG* zWYOwn)U;j=4ocW9;aJ$NIv}4~uoK0vdL|5m2r09cw}=^qQ6R^;mEo)$A%l!>iHUrj z3JoC&oh!4&m=m|jRTf)^o@<5TJ>rh5Ubs& zc8hti>{?B~AD3;x^tK<&sdMYVw@^4D=9ujSJca!h6A&iX@wuaez4YIX>Oqb=MfT3s zfEr@v!G4@<8b>8!u#BIrSni)_hV;{f`JBhsqid+=LdV+k0Rthgq#P*UG-KAWmfC7H)aEjQKtqSF-Tv4{Ip|zwcW?i$sqP56iM_x7)I~W7|Ur zszbQ>T{!=6z51tzlBdh40W6D5H+o@liT(g*j)Gx@U%8dcv24_Xg>pazT$D(fg`c?H zj?3jPMh-_1daBuP@y$mMm>}zJFqAmE)%h6hYO~hMQ08tgm!zskh*6vlM6yXfa%P#` zbRZIW0=mmzJ2t=lYriFi&sk;`tkeVy)CofM*y?8^L&q{a%K_n}xLOx2Jul3TX_sz- zUyEq`j7BJbm-{3(%q~(5v+BWGeJ3Z*`8nCd5zwcXh7MgjQM2>4p@$8cRH9fr%i18a z508&AL^($(#Yl!EZ!laXwZvyTB_m^OVh7WDp^5=j%0TSe>h2JU7cI9cZcvUFG!AY5 z2$^%sP0I?;_0S=X61%hJOqL;+LpZT6KOwx53X|j%0l*4uR+=F7yjGs6-cnSxja<*q zs*vB9crcZbdXuw1L#eg$tR8?P!|8EJt4~v7GjpG@9_JjxnO!}?^uWAbv8+b!K4E(b zu(==M9YXeHGo9umM4w0$MJH_`&aBOO6;Hb7tp}i6DboJ-fp_!o6(ApY+zPqW<|3jjPlUJW@;EHeYh3FDCsEXS4Ke7MUsN;EZ; zQ$(V`*)A%vFHM!06{CgVmvsT=Z9m+yN=u{MrXZ>`8owkz6d9n5|M)k4+wWT|BB=^b zrqOBF6k$+Dn!8thR*eVK3+Hw5O#8O~96zrM%{XIJ?rK4{X7td9%d~gewn1|x=})<9 zZ^EbtLQiR@l5xWgQ{e4Okw#KA`eUQMD|h&l`+EjRQAhI9;#?Lf0M)u)qzM^g5Mk_0 z+I=ymc?}>nl~`lctyc8_tGfww=~A%`@0Ts3K%{&`y(v2LqOJe>2}|5eSj}dlB`ZUQ z(O43yG^^r_S)8DA#>6E(im7_aR4}4Cw%8@l<#Q!{M7o3qT57nqYwz}QT<=G>llVL= z+gt4tF~-~npYmWm8@jX9m}Qur6HHNCwt(*VRvBniLL5N~yOw;9ePigqqksw9Vqcm4 z+H;LU-C3hKY`3R{c+yzH=jGBtiUWVLtr+kiwRIxVx;k$4BO55br;E zV-O$SK3tZ|v44!{K29O9{LzZVMhHTn1_1)%d}EA>+TAylkbO!dVYrs4rCeLzw?)1z9XSvOTzy!Y ztTw^e=f1^*4?4O%^Yfju--err#_S%n8A6_@Aj8#Scya&@7&|A&FelX=XHu=Y*GH=H zw28FTfWX~B9;dDrPAm1NlFF({B}_{dVBQWqvL_tdV6?(|#kMQIH0OeLbE`yV`!%;q z`gt=Nz!UpT;v@GZJNB2^7~OtJ;6jqzX0;;99GzwDZ~oS*`WQ zBW8bndQ0L|Z;W}kzjxMMpRUOG_U&7Bv%fxV2oz#jY(B@=A753YQ@Nu4heOFr@}H-W~lvGTY6(aVP4zRvRb{4@!gFR z-iQ!&lwhQ>!}6rRbp7wlJ?Z(^D`Ucz^Zu^f{zI%iqf zuc9Y|F;-_oW34I@a8u!uC6P6?7bw~=sWA=Q)zK`4t5A_FD2ttI*;+K_5uy)hP1>VC zREVl(kjfp&TqnDds2!SRNh0FKQde@$%0w;8{$-StL*qCM;*FAc>zMfBT$Sc(0%@ZP zI&#_?-Rq^=eRteBOCyfR2G~_RVAObrLv4L}G-|jLx*bOgw4()~a@=s7IW4#k zD}?C;Bb@qz^&a+nCrDV;NT4c&)=aR9i?%bQ$JPN;^@wYmeEQsDGy-9&!JUdDm0+x2 zamILm&C&boW`M4bPm5b`*C!*lHI}5_-QT};ZoS?1vPvOm03UI?sV<#bkJuPlxZjjg zc9wuKNGL3@BxOS5eOT<`LtdAQPD391vDhW#xNrWlzR1kC+h*;`iLP(=<4L%VRMx+B zCZhrgPBA!3nG+iHAuP)Z0BH->8t?rglBUu7#VyiHk%3NQkpW{y#8iGq|H-faW(r;( z8X;OF+Z?FJq4ZoLwyUpA83UfE+x^%dFM~6tffLN_M#XR{-QpmRl<%peKyKpD{qmaB z08UZ!Cv$xoQCp*xsAtuja#ZW87%Pg`;i-aAjacrV-oAZ&LhU;%SX zidYkue4h(+4Nj)MviBBb+=H52lZpdaQQoSQWBEsIuQIny$08#jF&e8&6sxw2G`7ms zYet_La{}=*P8vEL-ZYFw@j z2bdt(6bN_>A|tHU=HuWLO5PsBerzT4igCN$F3WO#y1iKMo*u6$<(POse5UA=KO)Ga zY%qpO8fXn<-jDGAv-RdrmL$n}n0rKIzN((1XJ>YSJ+J^oVzm?mUXV#tV0mPETL2!3xc6z$1US=FF3%|m%hK)gQcXic!`7$Fs+&};P z`}S?GwcQ>bIva~WJltqdtF4sMT1QOB{V2KAqouUbz_ZP5(A&`daTj9F{?+FPc1fxd zk6~%vMF_RlyqDvwnP2CD4N8yWz`TtCM{igP5Y8M5Gqckrr_7wHq~69}wjccR4|?l% zbPd8b!&q7zNi%9)d_T8haY!y1?6mkMh!9ObG==dakHBLG`FdW>D_T8T1<8y;q}y6q zlj<_20)1;g1o4*@TCZ@H9o{I**en)-d_~EKg}W0er|tIBpZ)Bphg?7#jkT9jI~xj5 z%X}clAeL`u*#RE$;z1$pyt9$PyoC899O>j*JI6H>c43Y)%SoW+U!v3ls$jsMT!eS! z;(Ldb`6TK9cpf$1wod)LpZmT`mO7~Sv*ua#`-GS#HDh!(05xcvg9u-A5_y`0Nzw%c zi1ZG_noY3VoiNl5uuz(%K!WMoGYRc}&rA*XwCZ%##hwGklrmivH+6kj0WET9-i{B= za{ZZfjW8C6BVEDj`D8;7OT(7@kcL$q@ps82M97_E65~88KXRngq0MEhYXF1P_qwXk zRrF8gAuc4zw4hNBk_47z>lMn+d28+>)EG#`f~h69Nd%16Ojouncw#2VddYYmPgGBU zan_e!>-qfh!Q+QdU%k&M_gZ@&FyQ&=CFOEI&XlN)Hq+RVphGHHTQAH3JdY+ahMc~z zaUtK9+SrQ9n-*3vWOD*2kaD9L5q3 zbd9EvI;;o#mo(i;@?Xdd$u}E_0a+N}k1Q1+$>lB=4?P7*F1;aAAf~X+Az)5>`lF;q} z29`jhCAW5YeoYpKgFF>3RGyTZqQzDU4xNgfanuM}WcpqgTDPuWSpRPAT`3m`OfMTQ z55%cF;05KSUA(d$c?->|R{LvJ1hE~d$q2K!5xgM>DQK+2!qJtWGYhSD)aU07)A96j zEBhCpf4-NkpY7cjUluIyzWDNCfB5R%`-J7J4O40zKL6r5=WQmNEVj{lFS)RP!bmB- zJipwwy?46b&)Zg7<%B51d7KGyuY-pU(&)gJFbyE}%8VPx_3YH)<=w$bz${p}F@9Ir z7Hr!9p&fnOb}1C@PcQq!10nP_(zemr`Tpm6p7Yg?b1Qqj*HkuEOGt_EFaF@y%P;|A zTXCGh<*?*+W28&l$)9HOeYMJai2o&YDvGVt6oNFYgHxaOE8}ju@?>NF5_hXCk(f^z z{Ge*~a1GB9Te3Zbu-YMd00`+Atu@jb{ox<|37e!bRY2Axr*gRn8;ZSXTHkpjgh{Nx zGtFJZb9iA6V&7G(L)141Q+! zXOmoO%!OKb(Dt0g5Eol1rBOTEBk}bQqRPe!svw{OF$5@ni-~&_A^`Kj<0CG36nw5{ zwUX@yFE73@B%&<0Mf-!*g2oHHix(gVR$qW?8uR#C6EpI>mb$5hFid%^11XK1CPi_g zftFl`Yga9G4ag`ZxH^T?hlWTgz)tIf-)OE-?wB;PtVVf4iq=aybZ-? z|BFBWm#KEa2_#sk&y?fxMt#A+FJ3i-Mp=PeoUWpOSO;GyB|~sDSQnRVNf;2oHTLSW zK$MY&^Tb>vRU0(wS+{LxMs`O=OWyNjjV$Fb_ee+vn*Y-|Mwm?(o0?%IE@0N^^YtM%Vzo838C)Ln;#C{AC zs8)qNP*a_tLF4}Pgh($hUm=W_r>EO~`}`+g+_qb<{r+;kdHnEaKl$R};ql9NUzUQc zkNb(A|KvT;NPB9%l`S(1dtl1vy>Ypgj^o_-TpQIk_$G`kF+H97^ZjM+hb|paVEmM6 zGac%^<+1N8zTz+}F-yYx0Sleb**jj@@ zx#V^nZ$9|oJdU}UD!*cFpS=C#Fa5c{1f7S1lCKC`d|;}DWX&b#WvL9bKWytBxPltc zdZxG!ZS7yI$0MzO!fPiJ`B4^cmuUp~% z6N`0O^A^N$AP;J->b8=e7RwfEr$G$F_yOd{eJ-`Lr8_2?J(IBz9UB4HtU^LjuSL4-X%{c`!cddJJYz0Is4E`!arF zd6dw&>0L@o^88_`q=|LE<Yf2}rdM`+c`x&LBx(0luB;=JdFCrVpsW@9?D-)8hFPx3Q zjS^_F@Qf7#?&{;u%pyCkOLT67Os9yYsUFIru^lX@8lCbKRw^} zhkCZ-eh|${pCAv&Go!8j<*7+WhdS}%#`|$@`_9@+^Hbel>h1P82Hl^Jl5#sb!AwPO z`+nTTEs@?oJv}@;^geo>DQEAa)(!)Xr-r^vQWBrOL5v3WA0=nlX9&2NA9!N&uJ)LizA3{Xk>WO2QJlJq~jtU9J_ z#41x;hhgr`;&~nl$d$~5S_i_@L?^d|g=>pklhY;66tB&jr6J(19p%RP4&N=#f57#1 zH>9i*G0HkiOJ<4kzx$&=$dDk1ef01mh#LQOHrR~^1-c{wWTs|u{v)v+g9uH zq*Hv#Jb@%?u%HuGETssf!wa^zm{9=b&5im<9m+_+i-CG$FgNk6BT{R*%-p#%4$JBE zV2(zfUuT(No?RF+&^o^@W%E}SPA&KZggk=}-+Z{|g2N{{D1wq!HGA`UJ*1e6dHY3% z&NL{k$UYp?cL7h(P`se;w;|h`WNu197ml=Wg9xGlrnpCQ)`2| z$U@+8)Gh7v5-L5vKgLN+lwkwvt#ocu4^j=JF-F>QX8@!$MeYznZ~tDqTab+ z#^>i}7EkERN6!T5*M9ZSrjbS;O2Aa~$>9JKwZoO`5xveb`6+Ai3c;KPXvN1RlkbhG zONdM>+ydd^+O6-p{2q>O&p6i3aaBftk(EoMZY9HwEagCxP$o8zATxRNeWujQI{F{~ z(Vx__mc&fB`NjDv^|-Tg)<_95q;@uGWen*2KYfEV15+P6CXb^^(#2GsEzw45Iz3Mm&jXidHdTgkD1wS9E(5@NpQ30_E0!GAoh zXIe6tZt2vR$K$ZD}$YD9v|M^usjD(L5E3VFCuijoU#5Y zkY5p8iiZy?X{_ysh_71AYeHc~+-r-F=`+XE)2yZkwe!RQPw$>?`(vxU9%pZzmE_v2 zzSw@QF?h-n&Rt%It)4RzXnRhj)wbVmWAyVpw{4ThKL&9|lV4u$`@WyGWt?mF&W_*Q z3hT_TqWe=FO&1@_*BhsX6yrW;VYmq&QB!MxO@3|uzTB~Bj(=Ocs1o@tH2=e&J&e|~wn zmt1Jxa!RI2II~4w12pD)$W#IVuyAFO#t~g=8&zO0Q6W_z#5WXY{$ zK)Bz}+ik10m#w6kUEUvVJc@I+{b7H8zVEk(^XR>g<7oS~_1=3EO}lh|Im%XAh5P$X zBZ-~}6Lkh==z|UVJF)h52ZWj7vbodoa_r(pBOmJ+8|Hy{-dRx;pxsY#NTmTKZNKqr zzh2K5fDU%Zdl8VFnaB^w9MUXnq2-R49P1Zxu+Yuoutlt_s+>;GXD#(WiEGKbxZqO1 z_TSZNI3WMm`3O)ANbPH3@ByLFZk6T1oJq7&(^O9uY^y!-F!GQfC*1z{PyY0)r}rtP z`~7~Kw|dqAMcFJfzMqWJ_R&R&WgdH?&DI))<{>i^GApO|l#?4JbXJ_vb}_eW=?%zR<45d z=n~_{ndu7Nio*e)e&dtYXMjeRC^2voRyIcZAAnJMR@gFAZhg4cPf}wXaOx?>>T?~a zD|m*o+rQC05JP``0aKAr7GBeuPed!SQh1NAQ32(rZ7xpEa-mWM+YTEOOWMl_xTdB4 z8d#OP5!Ue&laGyej2zY_+AXE?OI`i!KZ}xFFhtkAv zHDE%%2yoSv*0v_3)+++kvyBeD_BRh7)T2MWf7)_6j}r)vdj(2uF64#@dc*f$RbXL| z-bksq%!O=y$dkIi9FMo#AgbrNrFXNTyWlCuAbQSD)g`L2Bq5`%MOCt*4 zy8&3}MXNNs)Fn_9m#M5$ffN6?hpUu zJgdlW3x9yAPK9C4YzZB)_d%DJ<%5vL3S_ieW(|l+&cuiT@BF!jI`{8qnmoqx&XoW( zhIf3lp598{_g-OCnw1b^O*2T=p7S=t`catzCM`R&1|#gpS+-3;fH8}=8D4#ptEwaG zc55y+_$bs7R`~GE2QqMxW~$7#T1%U0C2MP!X?&s-9;3$r`DNqK`V;Q$_R7Fw;i(~` zT#!U4X($HJh&F`&)k>e8eT<9K?Velk%ar-jSj(7$@UY1SG>BeUW%q3MLU zCB~9*^d-CGx@It&xo3iMKGi&v)~Bu9-oJZ)+jbyq=a`A=wx8#$!A2Ur!EtY0G>|HZ zj8Lt8XaD`PwX&7tey}JE-tYC{aTl}!u+*dGoF&0z8?J|18?twIuLKqQ*`YFi#cYn0 z3-CxK8+J=)14`LgwP1$5K3XZcpKUMOXjHb`fzJD}?M0e$VuM<1BM$1HefsGw73waN znsm3Tfp3NtbC$-S8TnZ~#A6SE&$sZJ055ngLTaIGPy?cidkqh|5JuY3I=D*rv4RfP zB7s$4O6S17XI5h>i7v z**i`*crL12NMp2GZ~Kl!y)~iD%x@+fy%$barH7ePs;$cXN#4{0L4=S!H6;FuK#b;w z^YThc`_|4AET2+-N+0ubcnD1T7?qGw#520=W#?k&J`Q zuVk({Fy+VF0|#fh8g%^}-N*LGz`Ii>wo7aD*+V26hbl$w6st`MFAjkrcws2I@l~0N z?#sO@+KXDiI%z#8K&y5=6W1P3SRvsTIZ8gPZ{+8A!Z7reOj{eT*`mLBkmL@LpCUz4 zW1xJ;YU<%-$!hXL<`N9>3UOIg;2KH`=`37QcN6a*V`zaS6ne8%Hr~oompTAFF+kPa z$n{~+5bOkr+Dt9WmY<&ACrr=J&n(*AYVA2~XKlIc^*nh!l)*}Y=ShHhV-l-a?r{Hsqt`G&X;*i8-%RE{pe zVN}+`g0mOPPDZRDfG_H0;Q8q~#uQaDyufi(#Ncx3Pu_Ws2$#URcCY?gd&~BO8IN=J zZlx&dd-*@P3(>{ABy3&JYUkOxZQHx|&p-L;PgRG=Tk^f$tMvwlm9Fz;M(fIu z*K$}lk%-7xAY;`;j!yH;MyZFA*cQq=V6yhCJc!$twhbyl>$NsuRdA6DOvL8lEF?rk zLM>q0$$Cnv*d?SxWZEWfm2Me7*!to9o0T(LZym5bznp`oss8A5~*@p3H|phEBH(&M!t zY@aE?%Jw|N&^2n{z{)m~uO$fYdN~zL+WZoTE&hwPoN*G#M7{7e!fM`3)-cg`OP6y3 zT@Y9UCYdzXb@K%2Gfl71nQ?(Q;EA@5fjAE#ts~Bbd~AdD<9@HTGWTfatu$ABd3yiy z!J7}yqvur4qYj>Ot$o(!y%S2tz=NuK$O`;#qoFf~KJ0Du<6cY7$8j%PmhpJrX@v;} z0_{?*vl^{OJzlDw6G=Q~W?9$U46o8N>=!0>AaEv8t!eX8XE3I5DxR#|KS3n6tj@j%&>`M3qNTGjp<4$Z~x(^ zKY925iOj5C48Z4cR+|*pS-V?fV^0L18j#m*t);wJF+gHNpt(ht2`etug^KP>(wwsA zVMDT6g6(mKoas0dak~{WFn~);LrjumBXt=S977C<fr5`C!6jMMmWB`b zhF7GJWUrMDLF&<}oXf88;IEwsr?jn4XjxR)Uar26D{o$**&ZfFC*0grML$@M3%Sb4~ zr7tRh-}n#u;XF$qPtU~}{onlIzpY#!%sW{M49-$#?%vd8pmjN78Ghxql>`*atY^67 zm@RVY;3t@;(qIe(hcbEgM7(5#q9CKW`OVhn5*!&)u52vNw&Xn0J5piWi#`&&H1ys% zq9Q0xPSGEKl|)6(+$Vuu7S=Iq3Z*J2<)t2 z8h!xRdW-QhVpRtEXbu-tg(7gY#wI+NXr--X1TNf4_bnSfbUflXv?^!+jj{XCA$(c>3B{ftJJiFiHamoqn#jw3E7?PbPg)_>&us&L@SFU9rqvo^M497T0L25J0(c1*34wM%rw5%+E%pgOMs(sEVj<|;8>=0DMw9-ai(Z& z)&nH11g5_7H_j?V2e%ji;Zhwxded8lgSr?6Nvb+e%_Mq^#7L1iAJ;p(z!4A7rh+)~ zw#`>>1CgUMUv_6+m)Iyslo15A3oJnC?I&-)`OQxUpQEX>h-c1zl6lxd!|pH`pn8ML zKygpxFvLr;ZR_$=Zn%(^ut3V!1`K#Sw~&1e?zFIil~OF%#dT)Kw&yx5U>%5<{4*sW zk3X(eh-o?8Ci6wGMa>#d85ijm)f)vnenw=LP3_j7z{oY!Wu029}dV1bi6mF)O z1J8SHGT4Z4o@1s4NIXL&mMMx`_ZS+q-mz7cfCn38uOkPxJR!=xo7>WjnS04}%v z)>BM|R*>~X#4_v!8QIcO)>Q%n-N?NhJ+3-(o9raqwEf@w z_>ceePk+J@r`ZM{wKqwHI(sAb(Mu`F`hhv|nXPKqP(&h)}5biAqH3J1&#>#Mc^g&5w0RJASXhBgbSNjM!{FZZ(+!e(Zb4+g9NF?NX6{* zCJLX@51@os9fQy)AxJKd;|VQZJT1Y!-uU-11{YAg85lh{?#DK3{C?KD?d5*n2MHAs z+DYG5%(y(kh5S(Y*_giD-j>MjZ88Z#+ZIrT)4(CyMK#M)WxJPjwr(g)9Q$4FX zr_7{uh;TirHS}CmRYVja9rttFcIuocZRI%U1&lT}-kU-_QBu zt!;T@t*=DqK;ba(unf%g*5s&cwayRAU9=8~&UuBxK#&}EUN6sLjo=+9ehr2U;rD;( zd%(VA`Yp>+jiPiPglZowoCfqrc|N4x(idg!l?loJFWQtOY9spl$>T~GSEWV>T5_>n?76j<ozl&6Ot;` zfQM$^#sEuTmelyqtd4nkv2;#O=Xw74-~3xXN-41f49mzC86ViB>j+RvZnYt6OiAv^ zIsiItEE%p?t|e7O>@((yXiG45mBuEw^|&{QiE~?B;Yed_Io)QZGGDx>Jd=qGECS1s zK(GiDJw}!o9(2w%HXp`WF{jpg%3^uISbt|q1KJN-g+6+h8bwmwU-{+lQ=fN1x*C4H4DI(60FD%}7%Tr{ zy=GTWQ8mYN^KiCFR83;3V54;=lVh!Fz23nR*Gy)Klm_3l^PXl`qDYQN@;Q-adRUS2 zIWvWsn%wU^y-HZmTJnCjHeZ=iZ$L9?8Yy${SWSmzGCPT<)A3SyvX;)H?)%<)12)>B z2Anig%G-JLvTeN$nWm+YMn{EWlOLzZ3Dhh|XK~5~GaCaM2UBjFkmP~HJn^_6x$Lcj zgb76t`)F+*1~B@Ek8kpP^(-8$p;R6<)AOzouFg`-GvuG-6dxLw!$J+f!t!|~L*i`X zL1;SqwnW4D) z=U;rDa^@aakx&byIA zRK$aZuiZX|rgFCgrHq&R7$eJ+7b-IcI145UEgNnFpfX>8t#N#AVy;{5vsu-WK%+b) z5XuVc3Q;NfSHAyC=F|XsLZ(Y!K6%{}5+nSYUxsI9D;-s;I~rpJVu7#7`(o&W=WIGc z7D{f*VWZ_BS~LXX;d&;9hVsLrih68uWmHKe(DRLJ27tj}&Z|2Awge&T;O~#rSjmhL zBC@t{RYPC&^NQ#sUWs5U558ez(ie-ObgfNM(#Mgdw|?{pIDpZMQ-6{{3@etHDlP3azp|IHX!DJAx>9i5Ul9r&2Fjt4Y|C>=>?czqQWN z6$Z6F63fwI0_mcpl-f~e0?vjvpto|AZF}5r)Ek0#O+3Bhn@Q=Fp{!Rjssv+om%37g zqY*+`WaI&4&VEVaY_t@IP*kxKto{Ny@ne-(K`u~l#Y!~9zjtjWGodqWMFuROfk6rf-M3gOANR+&6IoD`4N_3flQ(^8N1kbB=Y`AiE{%{Kb4P82 zP!Ors%)LL!vdtk)Bn{_M=60O?H7O0Tvz;0VnL*>z!|nFnZ-19vZ6Hymbv~|xl&-rH zBgy^ZalMj6f`HnvR07j)E$9e+@PghdF15Ns5Lj7(G2~%pm1QfsLp%oHl9_^`mlPnY z#a%Jd!CH~4l-BWayViBx8pY(&UfD9o%S7J;9V5Q7KvBCZ0tgS(A>}y%x@W9X%y>*j>~xr=uIG0IN9%O^cl5F&K$DKp!wICO0d7| zd7q(q{*LK9PT^xXRK=)nExCxuG#`NT7ToX0R(6CWo^vNl%y5{dlyg1K+ji?`<0BjE z{p8s*N@aVz-5yNkzy}#)Ce>!l zXxDYk={n--qRT;jS+;|W2^h&?8A&b3&lxPnUJ(pk&7NF7mtrn}>M+KuF{kp=pMLc( z|JCo;bEH(n5FjO-%R~17vGuIV;MxJAo?Ut+LkQ7Xh7NMdGgPv>7dNc);9e7}4z`ku zR@D3}=geem(bAUTJh*-O(Oi%(cRKsVl(JbH)sai-XHTLfTRYEDq;_w)Y@MK=qDlj; zRwilB_{w6Gq;4AQ)R1f@SS=fL^dSAx_rCYZM{h}lW*Evv?=d;XvZCOn&yN8^K=KH< z7MojRpt)FH`J3q0ieBTxg(0#m=lr-`Ii5j+i${IU2Yt+pg1CXCO0W_NSO6@O%SzbU&Py?XLOWNTfLX+OIi#WUAgk1KN@+`^o#$%C>$4i?_e89`g!A`XM zy;j~r2{4bw%4Xp07v8QzUAqx8kDbzaw%cuI9fLcM9)KtoN>bQc-%2@Vc+D_oe1yJ0 zcS$|xPqFnABI`Dl!i-BAZR{-1JnBqNN7uBy^>N#8Q2BG^#G}1?J?gd4Eho$-Euf&5v#5iz zf&U7&;qgV%YFv}Zev2cT@g2gBT+BwLEBN%e+KbqDx1ka_|D)gihfnwSLu$2=MAAjC zv=0^TGA)8l+g~$n+{=~_YppV{S2A-~$H)Z9sKI21n@A}#&5Q2^d({kJlSCQ5QkR+z zd)hzyc+`{5#yW?*(|Q+8r&(vUAu%ZnX2qYFCl6%H%p@0id`O06N9&lA)Z;@GdwG|z zbFJVa1CjpHU-%1bvO9ljtf(2P3JhNj3a92PZ&a@YU$5i?dSEm=>;3NlKLbB*6f9Y)6= z{nLNenf@drTTI>0^B+6sq%4YN*kxjjYWN*w(tw|Q5L^va7tEm)W`vE}Z?xjsU zqRvutzbk2koyQshwuf9kdh9Pp@2pE(TS?3qQS3&fys|XYSdTGPK_`Z28gOr;WZ~R) zrjE&(%>Xg_b$ikdRdNHa1p#3P8hUx>n>S$9?g%2IC44t;P&q zty(>ZAcVcF&k&t!cL~`mR#=dw$* z0;i0G>h}#h>5NI_Nfo%pk6mi$>WVX6&gJ?2OU|XXMlf^Ot(5beRnpVTy>mBKK0&WT z^v*=AtdCLl()icL%z>Fv-fqoFMsnL=;#Fv$ikmvn~JlFmg3$#mjb&A-b2=KuS> z-~Y)^f5zf3S;zp)g@VN4mC3NmE~vGZQhIBhnaiB!cI&sWJXUSO?%SX- z*F)YUMVX(l4HgG|T*4*wqp^HAGZ1>4 zp|jIBK71>AI;h4%z+MA5u!fO6(KA#;Z>Dvnm%5THn}N8BJ8!5i3@l-o@3Uhyx%W}T z((Eak9~VYA&mVURn&4<95O<9zN{B8MTDT%vB&%(0Bp@jJ_Iv;O4_fPBl1o}i586sW zPW>{b-fXN^+gvJ_+_>{8Z$vsbAp%&v@CWIwN*_=Tu))iQ8L#M+GPI0xumk~=w14(? zuF2>7EL8?F!rP@8Iht4-C@9bKwYl?9+30oVt^&Lgjmm3@mfG3sQS(+tgM-He&RTOSGt(r(tV>z6GP>xz z%w0DyrD5#Tl+tlO_nkev?rp!_7@wI$*z?e&iMW&}y2N zNdd1NhK->op5R3h7F~y13iK(I27_&(j|*WWR_hKnGM}r-S$nF z0&n9sqi2%we+kc~W->H~W$tRLecLt}<|YAibV6-77nrpuvB^Bip!%llpS|rzqvI5p z4HzOGg!~8Y6%h8b=2C!F!3C#3?=|y9icA_)`Zl(Am``x@&ch2slV)UlI$42y8GrdV z{-RhyvcGmtl+jLTk46@7!Ov`rbpM6Zgau%O*P!^2KS%op<8w~k@RYLB?b~w2yJw2aghgB@OSlwC8A4Y{^o{XVUVQLMUd!fqc`}`Wgno@!_5E7et1o3|s(Cf)h${py# zk3N=5qA_M*J!+b@+mJb&oY^4HPa3AXhytNh4;Ds3Yb4_`wH`=78B^Mrbw)5v}UZ5|iZ9P~4}-#ncg%?wApx13|7sjjK5V{<0S6 zz_i?6Jtc%|7tAU$@{aHYvm$d_Nazf$um=2N8h~h1N8<00G2LztKl;%>|KiJc+g9p% zGJA9$s%6WWR+DR`;HBJIBn#w^d`^{u{I{p zdSOz`q4zY9(#YTZFg-l9ub#0I)sEsco(jvs=rv%;Fbk(XQ`DofzHm>XxFy4ftf)Yv zvv~2$59Ybajw}=(&nnZ)Caa zF=7mV5UTRmQdlvV;iYG@(qQLd+2Zl>uo!cK*`gO~NRfG)k`MK&ONd+ESnWlY8Tv=F zYru#r=zE6o40wIBE(Rk3fern>uz(i;=VY?W&CtuViq11=-!Y-T=QDU73S4MRpR#$R z%4C6Gup9|mQQ+%rN*20&{yxU-@dK87PfX$3j{CXoo3LL6ps2k&??U!BJAQHtnB94J zZjyQ%nTbAWrkstlhH;*!X*g~3T{(|neoh)<0W(%lF)j5VaYRf!Bi{va=N=Le|18k_ zr$pH9Ggswoh}|1gI?uE0JKK8oBt!9>3_RQ(RD>6Gz2K_-tzQ_Cr(Tv2vC^0i0o9cXP1Keo-H-1AqmD_kAku*uhYVTw^;D%ggxW7<|=00-;}Y$zrl zFUN2Hy}$qRd{2<;adIRA4rEyaBBynXU?QV2j2kdvS@c~}!dg%1Damr7PQsO&nIqq2 z?wFxAGsjR93Fco99V_7J0ItqPP9J{yb`~pN9jHvWETs?U%RK4VhEi@TcSMJ{e$8aR zo;C4+fy|os+U8Akha1wRHQ$bgNaXMwKl zUlvyE(-BoWJryv8SOlX*yaa)PYbCe#oYp%9nCR=v5Bx1*AD2!=uv$~(BiB-~3019srDkC!{L zsCFtwnoRMNhVLB(tHbEfA_$XO`^9VYv(X$Bc%7Y{-hA}7jWm?ao?D#}w6&SSY-N*h zGHf(hdl(!bxwy`w36_v#PGO9(<*oHza$#|9nN{aDF2`boM4Sd=!d|7`N#=--qG_51KgyEGv!G3u=e#fs6-!3wZ?ZWT@& zVOYbN=A-GnB&0l=-_S*Cg4kO~hgm_D{U}i{GyJsk0n2A^srUNyo`bu|j?BQi5nDDe zJkUvJ4HAoib-~}~niNwRW+ieZ#2T8MZZl$lOdj9~{lvq;EZ6XZU;DwE{c(^GzZ6@u zJ4wFfwO3{U=miyk2!UfLuR}(e*7S>n^5s3f*w=9mRO68?4Dz-R+2RS6Q(Vuws%Rbd zxWFs39Fw%hzhB>yLbLxrwkdQ@QTu@@naTF+?PObGrIG7H#dxl>=N|W+TH~`8;UGfv zskn82qW=xz8uii61+OtKpCwGM(}SG2!}3MUF?1y8Ri5o*7jgkQr>I6a%A{0Hxz-;( zd^=bf77%MYGnUHrR5$&kjHL}9BxlYai`a9oIhpCx44pzz9Fp%e*5l|yr|23ng^LaB zSk9SQI3P4wXECcVo|bMTCpa66s_zuH#$Zq%;@->!EXa)fwzs+W$~gO;*=B|llfjtk zzVE#4xrX!rw4^0&10AI@o^btfsAG)lfxCFu6jP&tnwc)c>ct}x&0L*3D1ez#M%+uvJW=wG|L@ik27*p@w=%Ukv5-xz64bZ8JgZ=XjraO+zVOM%4&f~D^bNoDHZ=Si{_pRIyT_& zpQ)I>8kt3mU;-?vfc^D?D8}>x0%i%)3I$h=(Wf}l@L5Rol$0m=;vCHyA^;oVfe`A$ zu(E_$eZPxtsGTsHT4*kUt49a=c_PScS;VS87Ku46nMNCwFmjkmn%HsbQ12=+!rSP? zgy?Lr$p)+wBXyt;KKdAENSf=WwYKfsd9>T@p`MM0yISoXXtnY&-C5{Cfd3<5NdiU03-a-&(`K3OSy#T78A`53axjB=lA=mnqx!@P~i& z$A9=of5I3yhme^qF^xpoO5keM1;Am4?F_P$)d1X z#UzoX-*QTg(F2!Z@_R4X`|TIMF;Y6;z0b92CD%tuI`aa6gDE95T(b8q=ueW!&17Sw z@Z#C*`N3#SD7~N~5~5!LV>H0|oxkxL|9NY7H71BV)+bHfLsRk&Opc>t$iDz0JQ|jV zaXlR`CmYR5mIhg9j!|5HMq@pN@PZ4Xv?ACwTmpE7@H)GNB`_V{>T8{R`B8zShOJf3 zSygKUJ$BmR;AGHg;16SS91|lX(F5(pc5jscx;FE9S_NMYCInK%x2lFPDyo-wV ztg{+$btbEHn7efvvM0L^P>qW0CfoQP&cwFNl$Kwrje1s5P|PXysswhCj3Fa=%IPww zC(-!et;C5qRi1?h!dlNgZ8ID|8Uxy_RSOV~vt`WvoH;U2C=_b5P)&qo23+GQn;h~w zwvCNjft{&(KF9jV8Sb&oOcA|ZOB&+)**?}MPpgRWRx*a&pexhK z;M^r&YV_*}u(H?Y2^ra*dBb+L{_0P7ssP{prSEJwnE<_n;1%f*)nf0 z8jp!p-U z7Ns48;S9&u`7FlFHyMVPz4%3Uc=ux<=K&(ga+5=-w47AWD9<=DRF%0h!r?XP4@>rlSCO>6{1Pg06iwd*5XqXae(K#xbS{ z==gC6;B<-6XbFH8{**!}q?n_uGhtPF6j51#g?lCMk4X_ZC`v@4%DAjO1BwhF>KLVq zWQTY4JHM)Y+f}L=Wakw-)N3;}jPKeGmO&Igsk4!UA(}<$ST?F2gMgHR2t#N1;KNTo zA;{wKaUShq-?^1c%o3j=OsI#fna#yIyF(}45VqTIu)0*t(zkj0VW>wt%0SDb@uh=d^6;cvat zC%Kp@MPw(~k(@`1x0GHg~a^CvoLv zpsMzX+F-vgLiQ*cJSmGDXXm#G2{+-WEny}FtTHt{0MK;~No^N@?a%(1(GP)qJvz89 zr`D^MR%mTo?Xou@&ssDb z*vQzGnu4!V4nuGGbddM8L~nI?$pB{xpVwD7KA=>^18T{_bb**YXR8Dp&8iffNy;37t?mDEV)u! zPZ|55)*2W6yyk}xI3Q(l_>h`ZhQ$F{D?q?XX#tNJym^?X3azK{%sW=r$Koc+kekGG z3rHf%V4QHAub?TdaNWDu@C}j)l3JVBq3i*tIUlP-6=2oy!HMm>5Jo@F^R!}3=sUyk zI~y(cyfq~iaty!ROvt2om+gf!z?L*}z`mT)>RX3+tL>5DP|vf%|s*XaC|~e);n+GZyNKmU6O6@-d|xZfXxaR9Bm*l)}XR zCP!d0d?4pMT8AO_Gswf#*o}VBSvgz5m3cJJQyk0#Tu}a@IT77Hd)uDx?cH-~GZsT< zGepLJRSlV+5s6A66U$&=t39zneLq{y8#hIVARF?;gy^D=29{yE3}5Axf9*f{6@W&P zDnqC|bSI@4Jy$!$Vv@@lETmOH%S-uU4?>&K$>GSw+p?go@kjM04O9z53i6K2S}QR9 zSJpCyXN5ZB;JE^d13x*MfvZYivCA1oz?M#SrjX8yehtH=P{PA9%3rUg*RGXFjIt<> z!;wO;ZVQIk=>_AWU>J&lfeNq!cc|n2#qH*LlMUk-9JrqXgh63>cT)n^?^0Tv?@F}b zf{ozg&%OoQ-UqNw6&=S+44DAHSm!`t%FYv~BvDls@S6*KD5>!D&S3BE`4%~sUPsAU zZI*eJ>lh`lIX;_#tIP+f;j8RbrPs_PC^4Cgh3kKb8;;TXDIT|t4K7t= zl2}!RKY*CfBvuK?z{Z6ekFk~l2qMeE3_sRI9ITqQWzXQbUg6t2Mh0jnAC{;dCxY)I zjrqn~E}wi@zk0@d1)Igv(9*RiV_bN~`uSG;9a*%x#Xyo3z*+TXWDpK4|COCpjQJ64;H7dS#6f7-BaQ{+`ijEJ!@_0y5>lZxrw)`|4 zr)%p$XvaZ}@9^sTC?>dirs?`g>FE98!%qe#8CXvUY(2a8DoWUc#pLIYlq{km^O{(H zK$2D#fd$dpU=4hl-`RQYOY83eItbL~W9>||qDIIzGhk;b)4#~da6v+n^t%no7P)A> zy~HW4FeQi39Yx<7i21W={+@Mw;H;;`Og$^5>t@SQ3{iZZb@e~N{^}q)UFr-!@*xsz z;6GNs#JbO)m3IqX$tGzSHg$opkHA&8am_X?p%7_UxEBM#rRD>J{~+~T();%>|LR}; zJ|8|EfJ6&Mh6e;#;07a5?-@-+oAWsVWHpDilw6OI;nF*5|7Scx^&o(m!wx=fhmiS0 zW;1tuL+X!Zd-LY_;vH0{>n8chgx)1nfK?`O`=FjVZ)i2Cl&y$%qv(qd9_&`vZvxe{ zB|^b!Sv}*2Km6f`Zyq&i9Zo(s`tvGKRC^3D7Kh+@P{^ZnG1xSzKjE|zEiHJ_8&50E z@+^uduDF;^0mdwDg@S8=4r?gI+X*YM1BO*{ZP*!fn$`yak6-BO1feUXy-;y`3%xXm z=rWOw6f6k&%AZ+S?|OTDq0CZ;od_3YyR3(*!spE_#MhH^1L z5?5_$Ue=5lpVUA5_IKXA{YIymS?oEpz&s~_omJ@wdu?1GQ`rRek^xHM0o*RliZ*M> z&KQ}HoUopaOa8%Ksm?=R9N9Xl9Aejrb*9yk@*g>YGMn2xcV`oGd~y9Uazz^=K_+4) zz4vX~p^w2x0+)oSTwRW(@87>q3JZ{hY}MXQmKaKOf!IJcv@75_%e7^NQoKgkP*K0ZAB_TT$Ij^juf z?=R1#WU;gu^HB;yJ!Gb11~=9x6d-jTlq}fh?uYF>H`aWq?D_-Z{3Z{c=*-t)LQBDcgQ2uL*%!c7(=tyM$W|EcL|VcD~Sab5)>9) zgPi8EDa(n*yjr#nkxLrvqUbZD(h`_SS;_yy-}oEUs)P@v>iK`TnpxKfssY9V7KVD? zxplGZ1VuYEQ`~j8oRjpo zEYnG~CKJEfu(aI`qx|Http#2Wcp8f<<4sXV#+Eq1HGlNbOEJE#5ed9xH<$7)fo;4c zs2Jcoi1*)*CZ!*^0B(Afz`jOo^;(l>*tmvJ5|8_z`OQb4{K9vzr2G9~0>IoDJ4?-u z#`2rT$WUO6ZO@XGuwa#G50oPPGOez;+fA4C~=CFN`~`O_Nqg5v6omZ z;v8eLtbSKCoE;s8X_Tn6&h~eP~9-596-Il^4wK z$|;9sfFUIT&%aID(Jdk9@%HBDU;O-ce&=`kdGf$s=NT6=_aBDg=iM8H&A57PdoH4B zA__0{Jd#kUqy@^;QzAY){~(44ga05+Fpe@RX=uzXRubT2l_#N#&???+AOG^V&##`~ zxuS{-^XKYGKva@G%v!GafweWUemf&XoPc1>2pi|dWnUIX3`Efo7+gZe#GkIARZ<qju$?{g z_Wk0kuZCh{geGg@El^nPDGWdu!nMd(=wMA&d&d?`+|QocpjCD(f>${CWHckxhG3Np zg|#hJE%*Zr)CK3!1hfj_^_pBipy&c$)wXSk^8fYQzy0+7iA#lEQm(ZYHq9<91wd?J z$)y87i!LbbOmc$R|1$b>EWHM>2pROg^Ru3cWv*x%{*Lg|+F!?OBR09_09t~1S)#aD8lJ~4^^cJF z%Zm&z!(jCb-hPyWe2;mOz0dALq| zWLd-#rNkE1*X35AX&`@{k$0ii$=53jX49ZnyIh?38M|PZQoiK!By_48J>U6Ra-`8m zEAZj>zfGf`KYyYzid+(VF$^C66KVnL6D3#@a@wOGU2$LeS^)QyfA!Nz404k~Jt1 z7dME%E(<2caZ4b*`nts2*o_IH!E*_Jf4D-&9#7Tnd>#G}a}tez!rX`WiM+W4QN!DC zXL&{U1+#FpAkLhWy$J;gi?P%wI$GJq3W#*N@C|O zCK$2YKu)=+VwahcM(}juN+Cnm7gxK(Q2F>bdZ<;b!$fXGPTzfH+~F~#VJV469=|^i z3*g`RyMOE5mp>n)iy4fpz`;6c(y8jBNpZ#Az=F4)MV~^FG+d}rGG;l$7kk-uwhEW7 zmkKX(I;rewLk*EN+j#NxgfK>j!L;0u9=C72ZO?anx`U#q;;;kifa0d{sw@tQS4gO} zy*ZdJW-t`1vWfpfmNJ4bhPg6>t>V7<&2Rqj2S4cTNNlPzl3Gwf7^QTvk;}*`tEGdgg3Vc1e^YFS8$wK^|8>y(4*7%wO z&=4L5A1H)!4x5^xYk*@+%Hk(F_rf-msAp1)=oa{WF9<2xv(&HafUXYP%40DCD1omN zZmM0gngc@sVqe|G0AqVj6cC~nw(Zj?%<>8+A$8q`1nKPOH@@@z^3g}!t)j$)CU)z} zJOegY+j*bq$?b6)$P!#*^cmVR&kGb*Q*d&UNRs+e+2-%?RzQZfBmiB`hS1-M-R7$c2=&Pb3MY}ShU5mMVU#- zc@`5&LzcD}(RtSSu=uZR_YL(pq`So|lP&>F3Ztab87!07s?wiHM7tTKWgWG1qc^|u zZ9;na_dnZCBJ+ro(;9WQteY(108)E!afiW9V3py_e}zuV_lV(zV9_e>HUi+zY&ZQ+ z|Ks1h&70MwR3Y;ZK&?OhkWDVan=a`phTh34EoGPC0+wuBo8RqH`?iW(j&kwW6U zQ5UpgVsW53pkI%3qMY4>fq>#YeSiQkdw5F@`Z+dxRc!RT<)J+SfA&*xTv8)G#ef}e zG_4RDKj^Y(=bKwwFK^y{`n~VB-Zw1m>|36{8-pkJM$gYjLVWYVK3}Fm!8|(2@Hj^f zY_+M45`%iZb{Usc?rNPuw%0!QMrX!UQ*r`W<4+l5JZmd^GOq7^BhiyQeR|{8Fds92g5dNnBXLLU>kbzv_Thr(*!<;abMI z(LqcYzv7z+je0-tN0xSc?^y|Y^KsYX*tRnIP^FjA3p)XKz5il2 zz@#fK+eIiAnMj-29htFaQC{!D&{9^{ryqU%?Qfo6J{|x5XUHWPf0+enP#^+MQJFKq ze#SG075u%kP_fXVaO5a5FG`z1L$!t;2AlUDjtGNBnZ$r8MdJRFB4N%S%3*_qmR973X&XVGY1rBKwv=Z5VT@dQqk3OOn)q` z594cMDPzi%93`xjzxBOeI(pr^MVu@vKXbhdcwVp2r zU-77C4i>+U3ML5^oMfz)!#65o$;0LHl!p4?k8LK%YZ)iZ^2b3Pi%Lh&zcxvGM=3jz zFg>*=pyQH*(tz`Re*XE-mP|YZ#LLwyT?1r+N!LhsslXGX0pWzah|&sHLpC=%l%1) zM{7MXp`1+Gvty*3$2y55M}I1oZqTKPl%7q6+(p(kq)8XH!w&p*5xnfy}&M(+=uT z^IBV(hE}Imn?g@XMG!g0%-{d}zxLNY{`d`IL(%Y7%U`vR59E4@d|o0%JvM|;^g1x0 zX=z$J*Xm02LzkE#zLt?zsf1ye5HI^0Lm5Widy%h_ErgXkCiEFYt9vw~bzXq2cta6m z$hYhQSNq5qHfY7dwS(p%OUvp@MgS{YS^0`5@hhWQA64tQv3^EXL7gaO`efp4v6!=X z5zASKp#O;iPT?n#gVnDQ5|^@F2znScvzx7@Px5n)!9}{C=cnKKE~P>`60TJYx0rxB z9PcU)-1c0yWHL+0i=I1LAbKvck-CsQSuaMAJ~mAd{<#>Ca4(D9_=zpTNalk?90a+s zCI-C%G9YR1i=+=D^RS%MH?g9bUmQ9UVaWq~)^_PsL2W<#;>(G|< z6KR!T_PFRWD7nf-fUxJxGa;}?VxI~wt2hop*sDm2f62Hn(Kaj&+ZbAYuAU2fwvSYB zZ^!+&{+IvxVY{6#Gxo8^j66-21D?lK7JUFtIc59EIF^bF+i)aS){9W3u|elqc@j@N z-?ES*&|3>kn?+&&v4E_Pxl1crG(hQthd00QS${d|7w^ScjU|cajnC%)B$nOO8DAPI zjwOB>+S=#@^Eij$q>iBzW%G3s8`UUNo=Tc!(CzWzul_gxbvvGuPcM;)jyk4lbvK0e zI;zWATpnZyq3vHkWy4nI%NBE7ok}%DQipKEM6P2!UI5!Duy5{|a^kfe51usW3Qb`p zU;aRWz~YV%l8oU6x+KkO`Gchuqs-;od!3eCXuvZpfL6Lq#y<#sXG6Ma<;?VYU}0Dc zvf+Br8A=PO9_a%~fN%k;fId#YLjMZQAp@r2jc=u}yxM>ZHn+x(z2SVwL+AwvRQvrK z-}>cFMFx{w9b4Ypto0}(WyJX6Wp;?7v#@{G zoEo4puARiAH5AXUxI}|~Bkv_@qol&)d`iTTpf#+AHQy_lBsb%5iM>f=`KCU8^2L_} z?5h6Jm3x@K|M%X0_jJ#zr>93F&1gm=2|erp z#u6ya#aCqvfZS|ek}5h6N^NCxKmE2Z@WFLR>L$fc}u*YQF>np zaIib1DaSq@+1X-YxxyNZ0(@(?!6ee>Aj|ql$VjPZbvp*F`H?g;WRy0T61hMPdEQhg zvp~W8h>|sZh#8tjDu4)(xy}`(TF$((4owQZK^{87m8(~^yY0PH@L>~zwnni%MhgmH z?UMPP3KkPhJzYIGEG-oj6%{qs^&Dz-W2|LWdZUK*0k!UIFU*^7@@hp1P<2ad$VZF! z^AQL~cebW+_mBVh!*f)fHhl-1gH4FtoLNp;7ifTKO7c+H070x@NjMVIIH*ox$s(JS zbK)*kmP?)E9na&5T&z^<5^!ZGK>oG(Tr3A@9bzHMeK>a4?Rl6Eu3YOuk6t$B;Mk3d z#>}sYMji*zEedMgI_Kl0=!6pZvF-ozW%*Z#T>oVk#MS34bbw*+ML>7OVfMHaE-KHTVG8}3TnFA z7(h0=qS`kJp3p*l7C<2wXA-g2Aj}z(53mq_fJQkO7p|(+gwH++QDt>lxnU``Lmmp^ z$9&}Esbgo(PE`87W2J3`!hMVabCx>L{*9@N;mE12dF8OM3rlrS2p#vY<~PkOLzm~= z1etWjl%S%X-r_YPY6iaFfJ<4aDx~QQVy?sDwy0`bf*~YU<}ZTPW)omek|h-t@5th$ zz%!x3f#=Ohmo8rtl9eykW;x>GfCQ*8eZ%xJ&-&(jy%>}EH>i)+a4~8^X1o5YjGj{x ztXl~!h~T}{!y(=gp?aKF(yb%QP;h5;G>-@W_MN|Y^_i!!;J6uL2Z{Y$b4vZH8;4=V zY88o5f^iu8uAj!C@4GaP0*vOAWXxNhf|_aa^pt#pX_`8AsLhkeR*0$a{Lq=B3MoxI zv&)9?^FgS&Y{&&t>TWsKAK4n7xeB`@=J~sksS7grAg!}G@@Fkg^eZXJMi4ti65L<% zWzZ&A5Y;#HK)l!% z4oX2&@EKwu^0pP~#JXz1j0nAgmPOgTp`sC*gkh`MTyIJXht<#Q_f%e(9Gc;PU8q)b ztwflZ8=^*RCZ2w&tgM7faklC%tRPsP$YSgLD-8IFJa&LDzf%YO*EW( z-L`PCvKgWF1Dfn$3G8A;#IX56XO&b2YsHSxY~oco9POlZw5yU{g$8OKBtX~{k9Mi- zv7>59uh?pjV^PC!%sGgjVib@v|;c zJ($>I=z@rL7oi6Pp5;>{Njeak=FF$=G)+?P7m-Y4LLRfkN=97Yb+(Mt?vqc)Jl8;x z)iXrmfRjhzO^fP9k?0x3Ql3Owo@7RAK0G*p<|%c2&Agl}F6f3LN>k)V@l{{-RXaS` zD{xP+n@oYC#$Uw0-SWXS)sCHh>oFR?X{BpEqnJBw=Ns zHZ1rW7A%?v$9a7rdNUmsIj`=b(y}HhwZ&&v)?PsaKldvEecgUPShY*=539JS#b|a+8txd;L z)|eqRpy(1md*up43cbT$t;`By9k`+}DC6W#gF`T;xeh zNm7bXD2SOT#Mi$1D@q>Beh)Ha5y26)WNq%(W31hBm7-D`RtD2qEWoyZgV1E79-Q?6 z@Qkf#30Sadl_^49w4kJKQFbIxCAHZT>=>5M4Mv&uRSlk*nFzhX4_KoQG>h8*=;(akiD?L9k z>#cC|gP?Qq(ud)XSpvdy&pmf@e?MSUl_Ni_WGbmi96d)s zYkaiPvgLp+_&v7ayqgM(oCp7Z8dvsw(YSuKe{I#7s#&Nad+_DrrIqb2+g9_p=73$G z?)Yl!bD#Q)-}&v|+}pb`{5ui<1D(eCKD(I&a;r$7A0eJbk50+>i_4CGh+x zBRd{3`&F`6^i>@YBrgt7(p+1~W){UF<<+tqIq{qe+vm;)^TY#z+dJD2K5#!k(ld-K z6@|L@P? zRwoP`vI2N>l^QpB0L{<%^_$LJs8JLAs?pLow23dMxi?xKN`AKZiL_`oK(aKokgq^oh#dM7Gl7UY)p*q6kHa5P0AmN+-?aUm4QX z>=AHxcmKFKxmwg+Q1wtu+TIi@X&^{eMF1KDEI=fjKN3M zn|jhtP9><=L}Y2GFb%dV&y#N~^@U((YyHf{$Nudv|6h<{z1rH_+YQ}ZO^d++!$CZ- z*9jLYPE$h3PetA=>7a*t9U`W26tzjA!378`6Cn!grmQ9^6Rc@asHABU4GPXllVN#9 ztdC?gtgP_l-FJ?=o4hv!3dn$ID#^6l!DE18ktp(S`q1Sl5CB){l)MJ!qlQPcJ;Ca@{=D`6+tc7 z8VDKuz8Lh?7HoCU%z;!>1+hs8pauYSxT4--s~CKz1`MH5wrx0%xIjM8zto&y;MdqR z_Ug0*)+DB;yp5ZKy^&do*w)sguS&2B{iSqx->d$5!k9~8L8ke;BE&fV4x8Ona_RbR z`}jKZ?RM?tAUItC9%(J&hA-ZZ+S}DDQYaQ=3MeWzjU448GUJK?IJqX`%V0w<9zy4* zFJv#uDkV{b-6=aCL^Kbp((;@%5ff~4PU$Z`{prxpyPwO1D2N_sZ^f;RJYf25R7!&{ z$L1l{HHs}P)7|`9PHk4SaOxnot@qxD4BWx-=0fanJ=MI|4)5J_L zW`kc=&7=MER)J#~gb>)&!UXB`SqLuQE&m*RXjjXBO)WJsp%-%Cvdvxga^I(?X>r;w&(*k1SJMZ8R2T*jh$T6iZLo2z*P5S%{JSxflGWAT4q$!B1MPz>l{HH9ja(9 zd9w=|8Ablp%(ODqubL<~>l3V5VrLLG87o;hCT|w`%r7(<1DW0sS_anUr~1)65(RrF z#(h!1;AP8bsj|?(ZRiorcA2tnYvO2u75&Ddv38pW(9RdtoW>uhsC`s!F$MWt)hh+P zj5Mk7ItS4L71AvymtjY;eeC>*HutHUSyKiK`{TjcJ8!@DWe<&o(N!pslf*b@eH2Q# z@!Yt*it8h!4NtjnKFlKb@wq^Yg^lw9#$*tIydk5k!5zISyok(=Wl&YbM2fzklDg_x z2UE4=ril|c0A;mK5V~}DqnpyU^{F53o+2JG*fvVFoTUM9}JaRq%pRAKI2SPf2&+Y5u$F5&~3iigxI71gY zMps2gF^ayZja-;6BE#{b0|zFuC2LigTRAuGoQ4>1-yn!0SB&5Jo!?Gr#E=b;Awz;J z;MV`IzkKAgW%AkBtA57<=B(M5E}(;71u(ySe@DYa%!8V z?m-=pAyatZ)qiaYofZiE^#B+Hh77yUZ&qDD7v(4}-$ib?xYf!B5uhNe4R{d{QMz7y zAw}AW?vf<=TA?gdeAcoP09U?FnzNuF22q@DUFATLhkzB?a(1oZl|ob?C|90){xhF@ zxLa>AcS5>y!7y2DN{wLI13+`q`_k7?+epV?gBYN9_sJCXOHm;O%V#uS@C;WUhTcy% zzJ(U+_h+t4g~b(Rj+u{%Qt;UJ(N!4V|LecCIQ^=fN#Fr<=V7Y_~&x~}IIR#ys* z?1oV0I(mK#)0jf&L>f)@+>9_=!xGWj=W2iKQt8az8gV+m|Gu*D!+4iNnTLmqQZuSwSy$c2!$ss zl~sl9jsTr|njf>0+ff8QTWFP9s;uxKbR4A~A5B2Rrdfh$!$>X^gQgQEaWOyzCX91a z0d(*?UylVOhr=y@^}~)VAzV0}XfjB)?a}tOs=!0rq^zN$a!sTJ<(oAx@q=N!|CO(b zM|MWuT4HPh1U(z+-MqTH)o(+feyiqjV%TL3VFD&Wmk%=9GH&;?|^uOATbhO$6eahNRzx63x4CPH!LixTlj6?@YYaDh}2*- zTKj1ZRNDD{CkmKuFM=xis%f0_LuxdvK!EdjsFiWW<;lGWcHm*89V_&N5TTty@=D&1 z`GD19AKho`P^g8vn#r<(hJ+@Rek#f*wSexZujX*-PNEf^LLtl9hAMs|8(USV+p%-3 z?ssZT0qq@vri)?cox!XPl2fO}?1lz2ZpQX8Ld(1W7gJzC$z{FYyyxN}SyCRv`oiAV z8`plixx9ZcN?8mz=6vSP^S52NaFE!@z{W*;od4Uqx*s6K9#5P;DiF833WMz@Mo(e- zI=KXZIOoxL`yID`?d!j09QVZ?$0vVyHVmC-2EGUN0)M(7C<|1v6!2w^t+9q!Vw?e=}c`&u*d@*$cLepMzZe88{ zs4k(4sBq}9l4I)VBudt8V-0RFWetyLcK&exO2zFF>7YzGu3r0ZQ z1ZxNf*EV^R*8OS@vPf=hCC8@lD>>N-oMIGIwhh{5(GF&9Wi(v60t(c45~?a+oXjFA z`$un&7!a{g6Po5$$bP%Zm(8~~rIZ7mxciQ7y}oww>A0U^Wcf6T_R|{HC4tmW+$3cct`c zK`m{(HB&hw&fv7s055AyhoDMTX$%#w4xexK9*{Ust9}*u5KUc0?crT};%Ks~L3W3a zfx)3t%U&n6!fyud!$Q*yYJ3Jyh>ffr0<@X6_sE-`llE9Fnv+vtYElJ+OCHs7*N{Ry z*71Z2rqnptFr)aUSf%cGPFuXaNB%RrMOV0;0toqKdYP#;*vzIKzVN zJ2~2^KUtM52+BD&Qyf9D5JHc8!`@fD;cxAnI&EDvDdEei3vmjUAARoF){$FoKLH(o z#ymf?$gL`FA%~m|BBP*td)^Pl$TvdnL7{w+9y6LQu^>puR!^waph29dE~I8nD2Wjh ze2hea8rB(ePNx3F*5bNFhlAk*zx7+OUjqdbi4U|K1$VsElUT3902bZY1z<|;rmXl~ z&0Cxduz*%;;!{&x1m8${2uZ_JA9<0vW|SNnyEDg+ee$Ef|E~Z0myYf1q%`es_9@b^ znYzfT>LCo9q3`=NC1zPoat#ybq=iW0CEwjlR%hh7n&xKLG>JH@2n2KBR^`Jvss@d! zB2yp?6Xk@?VV9kOSZy}V!Jg-6Q(B!mar~}3_Mg9g^WxK;C5${)z-G7eu`2Gfz~R!K zuQIo!JF3kzl}}V*Mjk$#vexl7{}R;77Bk{K_gwhKZ}|G@V6X2(lc{PG$z<~^wZj+o zv7vozu#m1==mZ_^N@<#hUeS7iOAYv2;aCHtJO`HARCjWbHCi3H+hwTKSdU^A%BUGD zKr`gvD&!W@+jQ{Ilx-9G$hD}9brBY*E-ZFL%O!6%0Jao>MWNno2UG(e2-s{q^v`d5 zv}(|S&NUIM^#%-5r!=j&<-3>{cHa2TMrU$t-D-Oj4LGA3eXci{@KghVSDF9IC1Ndx!z}g8jv<#Ve+B*ZLqGk zihd$DBAiAp7=vUt^9Ep^qj)qKbU?z>V&IRVK%q%y!*dFml3o#FgL!^{&Xw^TE@#LH zN^Fq29p3jJKJdh)r`GEoy_3OFb(QKlEE|mI)8bWC*tD*i_7^JMUGI7DFi6M0V*p{AxN`+CY{tItNgXQZhn2G0Uhu#xjKkP@nq43;o1t-`B*1Pq#LZ7 zL1y(%O?{Ll{^U3USqxbUjkgxq53mD~QI;4LG- z){=-#oBSI?^#y?7Hr{A`BRyxy){G&3-X;wy@am*&j}nc4k;cnl*T%xBI#tm`u^J3L zdGaemkDC@j7chmtag7kr;tvb@Xv6+okP0eZP)k4$r8QM9EvjK`#yV3gvLy0G+KIAj zw);|%Q@N>Bw~&9VV2Me4NxJJ=(ATcZi&3K@FVp-Msi5X#8Sst`@@TPOPFVzvCCQsW zBnL|g<>qGp4R3mD>34+i!tB*~&94INUD-dlG4v76ouD*rDp*g&dlw+X;FeV;&7wBHf@^zW=66sJI@svc81-+sGxPsdjqj{;*iE5tC?^F;1FWWqUOWll?_Dn-mzeiz&Hg_ zO*vU5alR?i7p=yKj@t7wF!@)R>zxW8W&q%uy~@NOEutQnT?qNwt8|Dqig+FcZH0uP3c8b@ z+wS<;MxV-8YH?BZ{P$V#K*muz1XRNdkZU}gxT28l$;>su2g}4{3XEvucnVT&TGf7+ zmxg+#MDEncS}}ed)bx9as(6|W3%vsGI6B_q`ri%Vwn>{?wFhjlc}+pBCN12GiXH9^ z`?sAtfA-v6!7aV`v1 zsMi{yIu~GCMvaJ?)dIn|;K8zTtcNmGSjxnSpdQu{Dp-WLzP=748k zd}06U^ZCYpAn0W3!Ezfk(P81M$YTyBk0%h5if7A^9)nW_$U~0|wup!=TGxx`{^kP{tp(vmZM2d9&lUYyLdXl_`;F-7?iCX35NvQhGQjPGH zzGEEWD*U0h4g9@LRkDH;MP1q*bu(?3daqd~NbHPC?YYCUfq7`eUGGbqZ~M0us!4Mz zV^LRtL**~v%2Az0~ctYQWkl^VrU0rXlBy^|i_r~4Y3yy#Tbk!TN@89ffju8dsbk&3Jqiys*iWmC2;1TJf}d_ z_>&A|QHrcquk!+=U>Q|3eh65$oC_U2dhAFKAAI+(y!)4b@klR5knMA zyktsB(T$0H-2p->rR(}}97CAPc|Pw-%2N!TTy-%Y1R?l}5^G_>R(Xgq#GFz}SyjE6 zGQjlAQtGgu%3nyhoXa78`|k9y;THoW^Bu zt}~i0C~A;AQ`(+E>arp{hxxl>>`KX7JKL}Sn|~v7qHXDA@wQS88=mF0jdabz0#qhR zZFO4Cra~>j2TY7I6kZUj3;-x?&{p+gvvsR&)_M)l$Rk>aJ?yB^l()^!ho(zkucviU zYB5G!#^}ZCdmSePq5AsJA`Y5t=&V|$@-}$3U4e6QJSr`($px+!ng-}5C*VQNI~~^e zGocEvL;Q_>PQdO+&5MNupkiczZTxi-9$-y`?JttqweL|8T1|mPf`s|1t8o2b_Z6>s zZHoQ=n6}relzEg7N&vii@%nbR9b!3ldfS|@O?*@etE>_d>KtPky$nrO=V6|3^+TnI zj{*luEscc|pfQMLN+b&8Vl6d@5Dev!;Hwl}kAen_3e~L0CfJPQ@BaRWy0}&x-uFp3C#e6c&c-meDnmZFNo**ukrZ&87JK01Y`XfN^amZ3D0ZSJk27(AVh|L~#1y%vO zGslkS-K+2VH^1=SU;UNaPM>6Jf;6QZVmD1W#5l~+GcXgjUux=JN(RIl>L}TfQanzm3M;{(aXeX{7CgkKP8n1+(P>LE8DR zWbhr-9%uUt7nyTYC)=vlOdA_a%EC{@wV-y!4mpzfFI|dt#vBn|*n?`WguEal?*$6( z(8!cm=%m?;T3SHc2)1;x1!U~uRC`h1RVYnSQ{2IZVc^H7{%~>4K4_Rs6%jZ2af{K~ z{xXg+fqAeHS*zLz60cfLp~Bx>lE$b&Lwmxw4V=N^_5?F^w!(=QknA!Vx4TH zRTpU=`rOA=IC=KyytdV{gbi)v!-;@^X>ap9Siu;qnW|7pE~=X@+#olYU@S$#E(Nuu z78z;H_jMvjdaNniio3Dq}f@lROymNM$3t}4;T47LX*1sgAO+wN(f-(KJC2(Vz31Kk z^ap?7k3R4pPH(UG_O7pXy0MIV2M49lpl*gZPSa|&-fYIM?}u?J1j8`Ij!h-_p%3E} zyKWdK5rh?n|2PdDGZ5H*BKtBDaRcsyP3lacx+ID!B-RpSra@rkLMle>67)7tDW^mo zo_p{<++OcJeI?FeH^+cEr(gh&o@5ffsR40FBVbYO@T{dJ3tuZ=g_jW+nbUnmW!9Gp zoxgDId;al1O2Z~9`T%Ye6aqVD7?Q4g9KFa~H0m38530I=HC(vyMHT&{g}jS-o0-}c z)HG}n3Js$KYSK1G`5SQ5X#rN!*1TIwb27Zk>HO%!9StC95!r_@WrmX)ZkYj$l1~)} zK0^DV-h?2Z?gwg#{a#Sl00&r)T1)cXw2r@0&4TTKaR?YKy0<7gs)cRv5g^0{8}g6i zc!Hm|e)NIE7mg^o^8{4wUfcQP1be$9U@mcsyX^Rp1c4GtUd6Zky}w_&^}%M`+3Hd% z0C6jX9`Mp*&mQ02IevD#^g<*qN+@RM+CY&J6m$V6Dx7i_AKf8VcP^$_NJ1$qi3ycX z6422*2Wr{2kNZXZWfee>s!OyEWO}VgbD7mc(0Y=VR#4<#$HhyR|K!j9^QzzG+rpok zI;qsL0dNdF^&1r`j0G||+LQ?Gdb9yQ%UsM%j26pH9;LR7p6+7BWbDfjDj^affB(6Gd6d4wUS5<-;mge++t z#x!Mql(`EyZ3alWj8l&B)Qc}1yW{M^wHsF+{SwP8aH&qR7=lDtorM*~D*>ysGc?SG ziIAm#MK~`f#Dbz3L?wgpbL19FhRxz|x@v&F_j|tkwlk-h#Kp`f9iy^!4~;mx=#9{V z@d3@_LMIWnB~2SMn;O%odv+`zrVx1+Xo1cdWq?(#o3!bwjVx`m0MvMSnBG}YSFP_4 zb)YI>Y1{_#c=f^@)++s)wF>D|dffGmeLA3)hp@OWZa7LB{(WetUYuno;2?7`h!z~A z2u=6Skx!@}#8i#Z7!sD)_#GywM6jlwm+7`6C@=Erumo*X^huS$Vo9N7JE z>bhRAQOQljou$mNb%-$}_7;+al;+HI0HA4p+?{Y{O<^a=O%@85&O?`iLHsU3c?h1I zGEuA$W}+$0ud{Xf`0X#cI~|NyzVu`)5zXwNl7vV+G))hv)JYbQF+%>H$nd=Y7lJQ^ zf>3Nz@PlSH3@gQJc2!oZ{%il{*W@&!m!4!;y}_}yysiHJ(6F&IkkjLAdr*Xs5!&V7{VWa^rHk})o;%= z?z};>$d&?i2pwXSl6_vj7z2b#OKw0bxlr%1)uro)n-0H0`_SD*uR;4|5e23ZM8t6N z=+SMWPk-#gKl#Hy_&e|Vcjr%@JhIjA4!fyKQ-IAd#jc;moYI{BG2Yrs>5y_B$4Rmq zR(zR{fz7Z9Vr$6tUSfQHz-jPm_XX`4W-54ICpo4 z!<+(IiZv~RExv$l=?v^;sRYnOa0H))@QTefXQ7IYLX#^%%X}@goa2&BtS@aq0nviA zYa?v|YntxOrJ6jp>AAw#@+^bCI4Z_U&B;)yk4Ci63&wgPRvH~Hj{!prYC?rgR}Os- zV*4EJ&8m8yX~uZ!UUmmeKWJ%#uXD&Z9xW1Cxp!pen*hSd_5^?Vj0(d9S)YB%P;zoCjX`;Uwx_@mgu$9XnVx*|;>Z8=&yH*zUx#BQ>1j`aNkdv0 zaJ+*kLx1uFm87D>Bd#z4OUj)Q|t@Gmm}#j#Ecz-0uQx(zrj4F?Q1?1&BGrW|O+O9>-jGLVAC*!O#(~dsd-g z7(>_PTqFYWou4Gm0t*xfp)0elwG1j!fixxztW0ReuGwy^V0BZ@LY0v!Hl@^V=3LTT zZ%;XliAp(s=WTIowfp?_t6#pn6*{!^N)9}-)>gHAFlLwx2Xj0v3Q&r{xXuwG_32k1KwoAARmt(4q-$3#Ly` zvfG+YVuQz6mUIY@ZYU!yfukiHW3?h%oOEVlQ3bIogwdqvwPMotm9hw#%|4vJ>qSpp zdg}8Je=hJ-;hjuFhO5`E-TTV(1C5)T!|wBAD8U5=+)*M1wo3>?TBsjHcB4>jgp4go z2lE#|n_Z;9oWPnz30uJKq(M*77`&n+(@0c=)VZ-}LsHT@;|0SFAIhnG>d*h;VDI3; z`yV`U@+2#r7JwYgOWyU}>m%k;6l=8=5IU%&MNwX3F-ZAnAXkHGZ6_!Rgb2ZaJ^N{l z7{ZZNPs83vKlIzb@W1}dZ@v51cCTDMb9_670)h6%4Ppc;!;oUP9>x^d^>WIk>-v-m zVi=}8rLtPB#xY~)OTm;c>`W8b zxJbck9^sXlX_p%oQ-k?&cTuDym`F0O4-o%188D8KCkA;SMo=k`DRNFb1AN=JfAcrK z?Y|m^n<37(m?c{IQHEx&uI@)SZN)aEqDM3Y@6p$w3qq9hn#}RAiQ{%K zS7ZR2+_FjYNaFW*XAaM1Si|yJt;{oJd3?_ZO@0s6QBLSjXn66A6ncmX1Wi9`LWf>c9By z5B&DQ-rn}Q7cyo6+&h@g+HQyP8re_?z)hIRGl`4n0U&5_xjDN zSFZlt|M9<5##cV{+T%w~0w8maN*6lKFex)^i(VC(pP{V0Vw50-x@}9Lct~1p1AOX$ zSGx&`y2wnbvej=N=~v}o_uv20&;OtQ;%7ek`@gfw!>OGWrLhYkmo(+fw1E`*^=2Gd zfD6V{!WhJw)ubQAd`In#VCy0UdwmNNX z$<5^x)X+G_45H3%S%3=_Fe*F`#{E^)p9wv= z1%!FSg2)d7c4lkR1gEYt)ncdFF&P(;|v1kW^IAybg0x#SNpr=7Cx3Sto|CuG1(5fVX!)vBzI z#_bd9o&9GozweiS{zt#>dp_{1@9g$(oXq=Z)Ix@1*)*ltbu8i~ z*58!o$k?Tvd|8SHv8JUd@q?l%vGq8A_1pvZt#)>vd-75oN>B|&RQ+G^YBQP)yJ?`7 z%%Y2?1U?d@S)XJyGKZAFmkG^NKs>!*ltUYr%l~# ztZj`1ZU<#s6Rkbkq!8pOR70I?Ucc^E#RV2-Fk0r=)~{jA-d@$($WHdsgiRZYtASXv zZPV6hkqr)cF)YCjfJI?Ubr=_&WT2-(eEmD#U{a1vQXiV)SbAhG1*lgJp(zRL)l_UE zUCh{1&v<8)W#)CzKQo8SH~0{eBc%Df8YDdaL@-RbIk{-;QlbY^i>!3ry-AY^{HJb zb^QqrYZ_X@P}ZRxZ5?oPOl1lrAD4|HrJ~9i<&u=8#lx4x88Q+>hqVseDOCw@SA`52Oqh4efQLfTW-7cw$-ZRP@h>H z%6g%S0qLMH(!t98)do8woZ*snIjgrR3(G!S>63eOAhccxMx_Wc}lyEx4y ze~ewvUoTzXr76uBXzawyHKiQ5XH`n+yA{jFgfyjj|HS#58Mg_Ehhn9>CBMsBl1>I2 zG|Z1_nliIuOAd7E{GGSmb7AlLji(=dyknqK!m$mN5ZJ7RggT{`q2 z3HkUe{uXQ<*Z~VcliMJGk6giK7|x!(b??UBpMU&MkMC@a(?qOFW?TRl`9)|JWd+&Mn(xnsI+hLk6KmE){KJrJu@xJ$e>`y*+ z;jVLc-hSuN?W3!1C&r$4sYpT=EYzV+$jzrv5O)b_J7|NMY-A{6?BlA#Zo6BrAi{X? z`A`4(hd%J$U-^Z9^}b(w=OcglpLb$8v9(pEwBEvlVZ)d%4vG4HYcq^|@Id1E<6%rO z_S2Mc&N?9{>Q_B~u}ebeh~1p&vlADK>C8E-JoEWRMMVteK$-Pch`}0b8;bQ|3G-d8 zwO7fGcVkM_G}eW1Mlp10nt-)y^Bm1-b>_r94?UQt^u%W$hJ%SQ=Q&WaV@*MEBNsGD z5CG}K1;t^JHGs@WO`BT^Bl2^U6I$3^7>$A*G^d-NdZ4#{{afDproT;Pm?LZqjY?iM z*01dtD|EC*p@P`xvDVfK9By&d7)LftVojgghW3~a&YaaCljoC5bT>UbRZdqrLo2+ ztt?bOIrOeLp&1dDqy}gN0$dTw&IdhL{W$Vy-f*a#sY+fQ=mJ7La2jTbd8^pqzlTxx z|L|uni_66{E1cT`} z-Iacf4}bE@U-8BV_IIYU=T1KTg_|I*2uv3UI{Zd5iZ?G4Rd~%vCzLx%b>tPkiZ%k3RgF&wT2WfBNiGmmsI3JFC+>Yf7;vN@XO>(;Udw z!?%5@6g6W8bZYVd}TmxxmOigGuJD3hS;g9Tfn_DfR0uuGuGEiKm5+`C^<2^7DEkV75y`}lsXLWV^Uf?fvjK`HLjGBMVxi^ z5h?k}ZB{DgAP&4_<2h!TSd&h2OiKiCoZ2qZ97Q8=K+~$OV_njbbqWo-PIQwpld6Tx z_p{Omth6K_eg~=n!U0+Y(;=&j9Z=}A1!ZdEQ%%+F zoR<8KG%+c`Pb3t-yl`W#E-O#fcc3} z|J9fN>a!ns*LwhPdwcuL*<0?q>)h!xr%&B->g4H@$BrL6e(KoPdcD0~>%%W)7&d$R z*Y|e!cCX#IaqZfbr!PMH)aAXKH?a(m%c_fA2&Xz&@2vOt2i)$kqrGX09YTn^2W7nq z!$G1L6NNmC-D*AT&z16&F%J`lIp)q^9H*{d4|$q42eIo9hN)k#a~dO)vPvFfzfL(v zR-GuhME-I~xU~*MnS*02lt47OIDMI>sb8&zaSS<&_YCk9gRp%OaGE9-mzlPk;xbO^x4ZchL}XY z5?HY?s@W8$s|;Ll_f2OSS=fxHcsb_I>tTMkt(~2J^20xL$8EQ!aaWAf&^j~FP{L&b zLWF4$V=11B66nmN*HTagyRFQ&X1qtorup93AxK2b)ej#$X|)M6@J52}yyC|Is31{I zI;oB94bz`IhM1~Z?Z6QeEmWC=F|_t|)C!O1mHm_IE4#mgw_V7Y%B-qJ;@cgf)*l*9(zL_HNl!e8#O{DUs%DYbbWa4#+ASKt>5zA_q?Z@D9-5) ztYg?8+(*eD5kU8#lzR zi|chCyReSbVdz$Up2iq)e;9DJlOj$-+S=}iaomYp!yKz1c5G6RGSHl^h7w8%Q{pDo zSk_xxc`R7wd`|3UGf?cLGdCa4n<33L+?)#rBG}(MSZ!?&c^o!l?D{;8(=;EDDV4s1 zG_v|2t7|*Yf6j=9Nr2icR<#5v&9`exNphLY;fz&X=WCdTF{PZ?i{iF>?mBtq%#)8k zcJ0Zh;+*&fl`Jf>wiJF1F(koph4rDsS@SM53YSR#@VD5sf$l!$La@TO4_s;%B@FOy zeEZwp^u{*~2RB9Ejhz;mSYjf;mE>fYA1#k)taO` zFM|WGYV2B?Y29QQObF6l5l2kDTC-Zvw`sKWoo)$k2SQ#eKwFlK9E>62W_Q0^brXaE zFmw4b5!+VqXgn)bra-BKX&ve4icW6FQ#;}Gk$CH|?$+b0v&Z_|PHmq)vbycm&Y2_q z+2dO$w!$q(x-|@2IKptFD`T3*oTnkDi3dN2O$u{vSf<1b0hap<0fr%?@CR_N>&I~- z#35yfUCNYr$bTG#rkZ3Sa*wNHRkcJo3H31%ra3|8p=X$r(>cO2U~%m1>2vp7xbgh;D;J-R6k;b9?gb303zj)n znF3vV#ddq~+F9Z*se-2JuWP}es^HDgevtyLoWF4HJHG85bKO7_`nWuj^MV&UQGZm2 zo_zkZ?j5T#orNm-X$WCSaYb{a*7$*Hc}MPi<+~4@l;Rs7jrOW<=s6iIhMuew!x;%V zxa{m54=BM1`D9zJ2}M+UV$O)58fvP~0D#Xo$Pyg}5X*}qH3IL`A&t1ED z?(VZ&N8+{T4)$-10zb_u2?{(iAGc`6<6>l>$d8f)lxv|(Lu>x>tPzo#k5UzCur5Os z8Cf|UsUUwp*9~S!Q>4ijp%6Gbz}gGS+(xm0oHLJGZ@>N7=dP@~*s;45g^&cC;R{1~ z86B+SE>NDt-XKqj>#c-h`ha0f31UbLf2308hzVSTGr=gtI7}(@-82{3;{RG=w;FTF zse~BEltS!=l;+^e+<Yw@-I(Uc%a#YLA!WgWhbbZBtzFkKx~ipG5(v*CMG|YT zB66{F8NpJA1-bVq#uF2ZeslXP3k^>Ey^BpTO=$|q*0u$vVa|>T!SsA}+%Euc$VfK?%Cr9Yv$dVP&2OuBoyz*^`gk&)xbH zKk*|keaYRM&3=f))6hXUjc!Rvt*$k;^WYeTM{UeKOXF@z?NEi@+OyMv48n~uGrx=oN?oD}{iZ^L;6 zWbh;|SP53t7^9_~6A9IV9nk)&Dhl>Y^?5Xfl?|#cF0i>JSYtGEb6L;34Ef+C58U^U zzxVrghl%3+a8@z)F;3U%kw1I%$o7%DUUC|ON|ib-x`?Kc$=QJ`;hOoP#7|EYq?tw9 z&WcVRkunq1#1wVY>L0+rL1bb;R4W5o?n6Q~n!|knk?+DH+@k~peZ(uzKDTx3=+4R0 z*QYts$XQ=X$s}zqB8m2Ui^Q$C&&9Tr#FcrxB-!M)X%ei4C$*xu97;~g`Y||FoflT`PV*PXIb1T43o(ntH@EdunxywAL79O95Vu-Ua>+#F zI1bY^UkuQ#=kL7mk{72jJ^I;4ru{*vH8Q6l9ZaDFs3cGkJ#Dh^YQt2dcA2d2BZskc zQaO_9%JEJIu{H&lL~|NFFW2w?{_pwfuYB#WIfxNEC0~c2$Fu^Djp*GX{5bzyAY@@i z`Xo0rpd7V%pJBKP&=Pr;>;Vxg23rjSd=$#|K#kh9nl@zwo0v5S)#(G!4iHp%f|`SS z=&5=jwG{R?jWr{|d}9|Cd2@fP-)?3WfvY{cnH3KNSY&QZYtK}9z!4W{=p8lgD+xpO z^ktt{2}-NDo6^LgA7~KJ=JVELswVbi$A~?cx)1|;sBK{iYI<~KF|oI>LI{f!0Uvn*|s)&;0iLktl}ON6~nbV0}nFH?W@0r9hD z(r@T8%_%5$;o;9da{k_X6UKu%(TXOes2bOtF_t0{&sj7f|i*&_yqF$L^^Uk&4&%wi0=&}JCBe#MNd zZkpy7DpLHI6XpEAImRrn1h)ejJ#RvdFW?=sNc=#<7Bq}MDlm!!DuNRtsWaO4kDm12C0OzQR zWnxp_ajxFO{xD+b##9pD`&9B&Qlf(0{Kaw3t#OZD zWAf>`W$d`HX)(yUGix=@aOZ@t-|GI`ANcN7q+BL;VuWZU)S|d#6JcnnOMvz4=Koaz zKa*AW1jsE8VUam`WTeVT@GNby^$aM}V#|cAWNL}3>>;`%E*zHF2d`*VExOtGj&_>C zN1aJ*$OEn3W?Skn0Ym_2;~05Mm61Hq2Uui=*xXS|)|;Iv)2FDps>g6;P&p2=z-}vs z*`UQ(UmF|0v&z3CC$ZUHH*i*?5H>mK;!TJeFtHxZ{9Ik*2h1V?@K8AfZL87msNoh( zR@hz{n9Mx&O!c6HbmJ#}>L+i%``&|zV%GuXtyNedj#ty=$FAIV?&Pg^A0tTCltbah z26e->kpweF)bVF`zN^=7%wk#7g$cZtP)J7RXQ)ngko8a8s-P&D)=ycJ_)^BTg!Skw zcBCs;uIvr_r_Y_gHcpHQ%+)N-1^XN;3ve(c%DiF(~*DBc+w zzd}u7lwHg7UJ&4$-u|{XzW%GHG$0fgBN4S} z4+{K+70U(dIAN8uP=g{^w!LXVVzMjV~FmKIOc)?;( z@YuQpKD@TBK}U2#R3QyoELzSgaq|dJe?%`{Z&yu@J$-B?#SC3;;25u_tF=TxYUY@& zA^?p+LvxL4Vpx^z_Xvf7;0m8 zc?Q{vC{yyDvR*c^&$D?z=Ut#Usxjkw<>2HCXX< z#^vj5G*S~%>namg)^)K*zyVY`GX`}rn;p>~dU1%VP+)LC@1e~&1kTcB>b*-%ytTiBQHRoOJK#4FtRN+Cw$1>uN`Nd$lzx`P4jX| zS@2?FY1TN``yuc*$6Rn63PC?*9cLPc62dAaq=L+t3L&fr!Z3`&GnEGe)FJkaLJ%7t zglT>=G&?NhaMz`jBs1+|pp*izE6@CGz?f}JoXpPmI2Aj=88+3jMg(HYI3GWA+P*%1 z#v za2y+(PI*-!gkYbM=ZNe!7XD8h-s?wj9qpD;3gk3cGzrB8iB~af13p|uLIVjc5DmwJ zmJoshDhiG_(_dKe-vy5R!dvU8E>uo{qfXecx0c!vQnQmITvivE2(X{Aa#sUkQ9IkK zd(Xb*ZEv~%!I$li6LwMHkG_k;^>q2MXHVU7;?5VH=GH~QEW0DC@DXv8Y!)~+L}SOl zDo)L3RZ&K?iD>A>*T?6FoZl=}p{K?DaRkO^6F~Lwph{D4GyRcA9=Yef7wsh$Mg<(_ zz!5T0p0{_$u4W;d*4#7)PGD?d{x8h|5woa+)0_>DC1nm}Z2m`c`CV{KVvPXydt8(c$K*U1W2mI)^0ut@+zH9%=Rs(&;K9t&+)?Dvukm zk~iO5X2lW@dd-JQ#}m53DOR0_F%{7S%hYdgzxbsu4KY6T<%`qqCh*fOS_G2SxFRB4 z9GbF8ZqpYgr)$W(VvPx=bZBbRMdhYg=rR*BQ*e&U)6wI{e(cA8_?BZwN|}$NXd-DA zQ%l3=X~s#HWv*t6%H9EJc#u_+3mcu1itCc;a=8nvDg`y9AdT$~XnLk=$fn~Dn)MZJ z4A$QCLZ;x5{g%wchp-rjsD-gzixsvmIOVy{0)qu+aVx7iX`Z+e~bn~kg z33f5m=ss5QpvA|Ax@NFRTs50ttV4e-VGEm>#|d!?mhGL)1}+W7&8X0?lCbA3piKt1*P9L9{}9T;@`RM6_u(f&p}k; zaw)`x{~QD*5SKZYW!ATbIoh(+0ERf_BuMqdu2y9Zm-AOr%3a^_Ji^EhD{LPt8F86U zuqmba`?Iu_es91pMCDiQ%}bbqU5l|B;%sQ06xRT`CIzK)Rw4o%(d>ND7*l-7uC~SG|-B7 ztSpE~b*N5*)c31z|Bi2Y?JFPJY<7hQ0~RNBABlntS;(e_e7f8iHo zs0rvix+BQV@k@pW$!Afj_@TK2f#kG{5`-CggSIb4gaGi&s?OcA8 zPk!n0?RQ_eIZlahSY}L-!C7JI&#xvil*iMcKurARObwU=SYkt)#MpwUx{h;T4Os`q zI5f}ku@sQ;r#Ws;9O~wn8)E?&#)L77Poi*R5reQ4fb-=sCFF?!NpGi=Wj}M%-uSI@ z04NQ%8+jy_rMvW$nz)ZfW->;N{4=d$FeEd=uXQQDrkg))c4>iR0#5sM_K(UZKr&&c~@>fLFZg72o^c{KIjx zUnmC#<$^NSsp@Qj39mFMs-M(Y*Ig}yG-0Kz(u+(J54FmsT5ihb@W~{AmXHay+k_cW zMd0;7$3?+dD_5!|m*r=kfOzk#Axw}dta{$9iM10`J&g`7!Q~vLeoufx??(WJ*Z!jAZr5Ap_ z4k?P|4A1??z-%uzb1lTWS%gtixyX^OXI9mmda))}CobHXLoZ@vvOvfBu{m~Knqxc! z=Gd~EI!pJ)o@oVhk}HKj58CF~#fhg#IYCY=xRqG}vXe=NdQRwV3M?ZKy)s}+#5l33 zj12FlDNR#Jx%6A>7e9FaiBl(^z5MhOk3P;84Tt70PMJfYW;RLO zFvS9c+`5$IKs3)~Q7+Vu1xQ=0$wla)uXyNZfA*)2Zg;s1G0M(jw;V-wgNy1dYC&7@ zfVDJiD_ZN^*dS<9&%Eq4FIgQi zle8lJC@1J3KqP8sLl%t!XI<&}tlJW(!QXQ6Y`X~wx)4Pkqr@8&w9S# zWPY@B{N)@J*da!^^wTtoAgp|k=yj!JyomYhAcQWR>0)ieLXf8UQijbmP4l}YR_D6^ zp$E2)>^yz>=}TX}7%|Fns?d^{S0ZF8Uiqr*tZd!l<^l@x1SdtwoHUq|qgZoVe~I6q zXtmB~9BdD^+wN!;SvZlG*LtcRj-47~obdlf>4 zf&m|S0}w1Q}?KrJ+o@h$Xck2`QHn8A261 zcp$OxP7JByT*W71xfRar_m3Q7YiHHEVdSI3)V?vu8|TUd8&&GE^Wked zPJ>Qk=#*nkW|{#cXvZBTzo8cfSMLrj*gN%ivQGFiFRn*5H60YW2xWg#qiS92EsKSs zWLy%BqjB37`M;W9QDF4L$ox$>hI71*H1DD#=KuXx9qOHT$5dYeFsai-4+X z-zdH&^&U_=!V6@4XRLPip5v?9vC1$S238_>#y|b(&)jgT%br!t7TfHJz1b%A;Hz z72v^Hwz%8fwiOmix=@gntFFoWTy;{MeZ zOCBr8rV=1aJT5ZKfN<`@xp#ci+x|bg{yk{d^C}O+*ShcL{Z85^X`f_Cwq%_w*^&h| zk|kTR%{d$mwruzr_!T;|fj9%9fhkSEp=l^2ZH7!bozC!I|7bFkPXEYECt*50Or{J& zO9`p53kF%XFxGh=zWp8F_kHerb)I#8-c9#_y!ZFL$LG24bzkdR*Sgj?E{7_E6-dWe z>LE>5l+Gn3NLdiNLtut2{uASf=iI7Id{HVkB~KZaL0YJoRiD~liS(FYuJz1x5{Gu>%Z|2u3o+G^n|!oye$eW zpdP)wx_SNJ;V0h(b=v1e9G6`&239{XEDjwo^)$=1kBz`6R!TOyNL~^3shtVvSx=_Q`rpJp~R^Z%Svq z&niJT@{D<=;DR8>Vs3)w$;EcJUNAlReEM>Ph!6!)ng9^r#iF)P)Q)iAa$0*aAXUJM zEt#Cc#!E*)&M~?^|05rFqGW?eb^{c9`C@utOBx_#y=5~Kj|+l<_rY2zES$z&l`Iva zXU<LDeJXvot=1p1}*sFRCvBwkzI2n$fs8C<{{QLJuZ z5fFiD#pQZ=>C)xrp8d%0{Hy=z@aS-BF^GvLHQL`leAk2TzybDe97(lCKn{Q<8ur=H z6}l#{!8qH|^cM*8?;H9icvsEsb#$$uf2Wk zz6b7ay&WDN4Rv5?LFdAklxS)jdD^awu_CRGYdF(g$XJpm3ozv%^(zv;6?T>4;7Blv z$18_G84Sa_Yl<(UI$9Cw@ZH)BR*0gDAJ3u!AxwBZ^Jrck0;cOw?zo~_{&~?IH38(_ z8m-n7wB6d-d-(B3FJ8KIe02QE%U^r*wKs-3h_jWYzz|_VhB{l?tRpOmvemLZ(Yo)f zaY+(99*j^N26$45DPz0y@?D?*wO{&jIZ8|`i1Pqb zn6Y(b4~}qR0oa0V35nt)q9j^UNkD{72nn(m0p)L{lr%mI zJr)!j1D-1M5izBm&CL=O9VroO0oQjPdbSSncudvDco+0KdkVV+l76?$o(Q6m5YrHo zQ5)Cbq1=cY4WpReH<3ByHL-Ni@I~ZF_*0xcdFMOdb;lj&|F?hhyW`mE0JXwU>vGwz z-?;hM6Av969-bbrL|RvL^L6Ig6jfowL*-92OY;5*9W^1q#AK~DvnXlWqcjRxu|Vo* zoB<^*7&q=+Q?`m#c%rBQcQ;)G?D~RzF1sP zs$7-wErX4?%EY@85w(4_mi0K6p^h>Oi{-xcWeqTXr&185a-A^nKo1CMcRWmpUjZ7U1H*08i}!HV9b_vOWmQ&hOa*j%Sez z!((QbjES;vOjg$R5SHcO8to{EmEshz=Jg(cMI;ySE54-3;^t~C45F;Z>#K4m!m-dI zNLg6ypP&#V1sp_jJqNvUS#8Hgtnca_jS=Y+!uRL<<}v)OP1%TvqqXOB@-sJB1b~gx z+e1Z=R(ka_-81|6v)o2mDU=KBC#J*dmg3hDy^~Z;VkRAWECRm#Bv_t1)-%ZI1Iy=zx>jJk34qg<*Uc* z#=HTGPmTBG0EeRt8sXk5lKJ6Xdu<7M?CTVi>$vU(2I{zO4cYLejl_JylpZiui`+QS zn690YdVzs$9C_vn4Q0WfQHyCZ38KqfLNSHl>XyXBah%d~?%h(#v70SO#>aJig9 z>_{AO8sTvG-9{3fIA)LPJ=ks*6ckRTq;A zIusVtlnONlPc;1zRN|YKFbGo#jzvvPEj*jY6J%mBp;!tmEb^N8r&E+bWkv-!!VtPS zx7s4kow!BSsSrVkFw=P% zek07*#cB)OWXrLU`l# zgSXy%`|yvBi^QqkE+R z$xbgyNm4gMHi;nGLx(U@J6$fn@Wn6QcmKPu-1pAo)wpCRsZuR~k!w1n6BW4ufy*?V zvy73u44B46(X?ts5yUwG#6OFpDu}aJ>uOO3Sei*D#@5;Mu#4RU`+Nx_EX@(xV%zlG z!Ok6AvZuto5J4s&@T4Zz9<0`E;MKU7VX^hddmnq(yB}DtmalyEhu7l;WNe56zAt_CIJrJ?`IeV0G;neV5z8pl;BZZxX* z-gf{b@TlviJ6~ardPyEmf7M{b_!QoyFAFUM<3Z)+UM$BbR`Mu`@$;u>rs>*vjnlh~o1q9u0##SG4l7?WGw6#Gz!dV3ty*>bng3Jg>ssJr8FmcPfJ_6VxS|vUMxL+G zxs&OcFo*{-?X=9|CZB7Y;CzZfAyIJu8c1G?$<-~i6E6BA@l%(Vt7V|xPgjRmu3Y#p z|M5RMckV)m;pk{p0Jew4K#OmD^^H>K>b(~gmvrf)X-?bg_p&ji5LS)Sw_X5p<1cFH zw0fx{broplgohABJpff~2LzC^NOt--5-YhCYq~k2n&Kv1Vo88b78=o5cxjr=jNVOQz=YwWF!M0k19@XfFIyef+QPn@4Cy3Hr=G~PNc)E6= zB2j<<7tTl9l_lwpsV&4qgd$ZFq45wAyIp=j8{q(=Zdc3-(JJ+tqi>|_Q6@`AN2*cf z(*;InDfZz>M^MH00qd(3h}BIKq_HxAXcJ+ik!qMy zd#6tTXLLlO4CLL4nL~QH(Dk%xpFytt2(#_1E$9{`x)3Q~f3fJ?V|m4u@?c7?r18Vo zd)?x+^Iu7XGIb=+H`qVA_RO)i4wzq0UEWNz^XMcI-+&1Ga5)ZnX z+iFdIr+|o3Mgvk@Rmov77kb=Scan%(6}yv$X0rBKhfz@%h-#R22l@G`-ADWZJBVsR zIQ_a>E&uonU)bK=ef+7XMkp)Avog?ywNv&bWjvvDSZSXs3GAKLQe$saRZRgkYFG-J z9$@3(IQH&+6WSxo6cC#ah}{8pZ?Uy*0tUh2y(@kN#B(aygixn=Nnxt@V9)G+8zW(ZKfBvUmKHNW8@YyMgQYHi&%VJwPF+8y0DyetU!N6E+(+!D1-srAnP_Uo8^7W={5I9 zeKkKTk_G_;klKwwo5iMe7(WSc&O&%tLz`@qYwKWYBo8!xW-yeEFYbAT&)(4QSRzK@ zOoi)5zu{T)2lupOMmkfS@Xqv)@o>5S-uFKCqo4h;Kl$=YU;XOWS8cVsyC_g-O{dG{ zJ@?;z?_z1CKs*_WYSwU-|mi{_LfLo42szuoyrm zS}R=A{#PTNYOU6K(6t5-(_YDoM2H?f(DR9|9gjLE)u~VP@&M{6z`L$q_|^aPmwxL1 z|D)r$0#>0hKLu4+DPf8#m}Od;gXM}%3KQrIDP^D&5-vY&lNqU>50q8%!93Wqp%j|z zYf_5c+8{oMwKJ>;2Ff#~8;~+(=cYk}%sa*^_#jYMdS?-4M0YPLmYhe;X|lv z)EkMRe|(|{8|=yxQOs0q7}v8~9mTHzrSMKfVRa!@8s$j=Ggles!~8hF#NF5{=EQ$? ziY3G=?R7R4%%6@3nOxR7JBrv_`xMj1Fuo!(nYeIr`W2=AAyf#E>ZCJr#(*fd<7gIN zYCkxBd+!YX_HX~!?|a|-*GoJ+JS`O$we)4bb@Sle@41g~)C_>KL_|`1^pcb#R$*zO zr>zoKPn!eN^|UqEDfG5dT}ksetfHZXvS5M9H)t-1k&Mt0ZzvgRyA!4EAkh=0g!+n zqc2>0IzC88vr%UkMpg-rfHX?3BKaAqoPb_VEu z69B^HkUhI(Qk;+5lAHz%35zKLx{TAQ-6sV4r0Cabd4eMCl(VAI# z+fpiVkbPtS5^CHXgobXh`ut};UQ6~^DRz3n+!I$LkETURP>PpKu|{9aSPufknvfRe zklD{vzu1Vg$+cm#Wr8#;u2!ki63fp`UWhPzFMv?gLjIWG$RKcTiAO>vE|Rz{MSnRt zY!1DBCBYYoD~P8T87YcYbR@%2*KN5NhKC<~?00_We_5_py^X_SKrAQ6Cuh#@ZSQU$ z9UOvmV+wt&Q*Ly$5ok}WgH4-sYow}LZCM95rRqwD?*88ZE;GPf;8Md`glxJbLG)i??pxc=@H5uD|hCA*{9P87`o;xDlj+9T|4u)}oe6m1t$wE13mDLGx)s zWd7?udr8-=p+{-iJ%921ul(9Ce)o5LYv-BcwNB3|h6B_{(^*&toZt)8;%yT3fu{V_ z=S-|cWrXaX0u*ER=dl=dzxrN?^+&#&Fugc!HfK5>aM((DsBL;!fKv*{8(`FcuZ_{r zKix)hIi6FwRAN{iT~xNDtx9 zi!3LK;o+Nq%!* zUcLKbhjx0r;?UEFvL)R+8u>Yx_r&|#9>F-%Gw2V(xPaP@l&;z=yPl$!O`=P0fZ5nS znNRmWMXfMEW$*GcQuES-!^5}Ve*3PA7vFKuJvVReFPAGU#R(n3MGEnlHWdy*tOG2Z zmF^g)LyUE>{HNO}0k*BGUc_r;g9XK1TacIZ6^MpmdWAB!*2X@LeYG0P_TuWj_dN9I zqgy-MuYKdyS6=!`TaSWXQ4T!r<@7|JNR8!W@Aw@-i>KzyJw-;d?It&klVKKiBGWAI z)yv+|#smtu0l=NT?Z5l^zx{(h@Yj&~YPsYHOR8~~lBw#F(euj`vvh%*Cpc(D*rf-V z7Q?)PrHYeW5HPu~`GcH9jmk{oAq-BE*N7n}o*60U-85UybL!KBp=X>a|DErJ_;Bd7 zc>1XMk+~jj1%IN5;&Qr^_Np0O=@n2^BV)nz!(xC>gR*uUaQ}&iB#*nn z>gAUP7YX1DZ>G1)4PB5N2oo7?Ln~*!YLRYi0Mgm}dwOFCVpg(JN57Kdd%n%He=32@ zkCE8qOF_a-tW>ZLfi&udIlC#&tkLt&M>=bVb@A#!kbBaDP|(q+t&v>sv{|`A_{L-rOnsIP#=zby zI6LNrsn}4wH{N`6cW?KBhacYGKR7x*lBu~WRN#WXer9fLVp*!}VdJWjMRdWcV+XZu zsc82Xw-2DWYUu>6VvYL=b8*xY3%1ob0^w>UR^8?5JMVq>!;f6Jc-MNhe&wrQee2cN zx9T9JhaTl==SdYHYw293uR}=p{knNywx8pA8668lYADn;_F~=b7T~6D&9|=7XFmJG zf8%HWedv9;JROR*e5&UK^xL2S1#GoLRDIlo@QU(-XLuXo2_szg2qchUMdbCHWu@6+ zkLfHy!pQr{!?de(XGe~%y4#U2Bn5>D%`rba<#Q#giCnTHA1tc({CAV$amr=r!l)i$ z)}!CS3Ug!yPeHO_R$%cDf@E|ciK%hc#l~Txjy^e3{Q&2HF?UjNR4TJX+#hI{!h%`Q z^l1Jpn5-AU%aT!*3qk-l5T)N>myxNhEy4WIo`q6df@a=G@huSY$IORqnIl<{VZ*HG zLa}ca=9|~@*jxM7kA3^~Yd8O&Klzi@YPGes5Id5?vyc6aS6}_wOD~-s9S^m#T_nFC%L*&| z19-3FbkQ6jVx*QhD<{U;W~5skd(f{n%e`RlH>vVZs zDj{@~*@)z)Q8y0Vi&{lYh22&_s?d=XV=9e%%01g$vEs?A_ObjZ_wQ?Nrx7F6f{q!9 z{3I|b3uFofV$Ylb_3hvOZI>=y`NKc>cef4>wzh^+%4#_tA0J-2a@Wz(ac?qT z+;)rXSfle{UPiDlP06v_Zl_=?g`yiGOJ0 zK`f`or`K*=9~N8p+;`9At9N&Tqtm6>Sy9p5D}!Eo6N~Rx!v2jLuYKbiU;o-Ghx@nO zUEYFzvmsGM1ffiQk{xVhOG2=1kJb-Lr=T8n-OdzNcN8~AcPK-lKFw}f)r~aM|P1H1xN?PoS<*c z#}leuV7{K#F&ht^K#0{O3(`VRc(W2XJ>`rC&A^3!CfBK zhrf$e2R!@1RBfij`r6u)iM4)<^~|Xs`OHT(9wbuFueFPpOdG(Zo`fyEV=Piu1GZ_h zh420Vfbn<3yz>H5ZlukR4RjbUu7S8XG}GT0k}om#B7w44_P)41z|Qe|oB{z$6Arg{ zE{~rhkr_RTsmnuH@ewty)e`#&uuabMMuI z{R58A;(%4vo*;2$F8@J0iLy^px}NrRd?ZxrD3iOcBxS0MrPId>doHEauUqU4P>`l6 z5hYY@m#q|Bt;d@;ZocvQo2|8b?|;{Q_us#J=FHgo(ecTID@7&3uiHBziOHc*VCvG- zGy&$BpIt`*vKIkQJmfJp)S)*R`Fo7~syu-U*6Y4*ZTIZCcRujIJ0E!9&Px}E#c=)F zwXePW^7Xf`t(U99< zTnxEOCO>UMqc*T2VIQ{ZfB3nd`sM%l7xs3xmdoSCLdMecs>@Ye4)Sz``QfMlrQ~9f zBhOGk8;qrtn4|+28 zn{y}=CSp-ZiH6T=XB03V$UhJ?=+o!&4hw_6DD|xJFCqYWK!(2^XagLd9zON{Z~F3| zedXn^ys|t!T`U&E)?&F_k8OSB>XrTdeQ;w#OsZ_|AQ8h4PkSi%3cdc>8Zj+6NDUyU zEeV!q*lI38s8N6fyC6k*SehSSL7@U9+Ss%ZP&w$F9G|@Y=9}X6eg0Kcx zq1bXv7YIX2YDVd48~dLk{v&m}{_M~F^iTivPgbPkf2xX?|;=Ycg@NLrI+c5R-9HW z(piYqndZf6U&U%b)@Kr8etC>G3^AsxLJXN5F(OuN;nMx;$TSFD5bRJqjtQ13`E1Y{ zE+$MJus0@#K_*>6%6D!%@2sl^S+e2vfsw&imFuFMGPbO$==@i}fZ}XZmDrdm%^2=ZA(D&{b8qm6}cK3GncF(-}^*5nabBs0Zp?2CpI%4$m0nF`p z4HpD1v0^dVj4zyZ?8I<3^WV#@3VNxGT*Dk9@=Mu9C2#K3%Wg-PSZ7_haOU#mt7p%i ztp!hxP7ZGE@87t2e00PeTdfR5S69&AvoF{s7nF2Z-4x}Y)7vh#wlCau*OjYR7TY_W zdRwn=T)Y0(TW_sSPqpaEcU=|(>k!6b7H*(3V>IoMFIaGT43^4fS3|cc-@M<%&e1QE zr7W&_va8xdQ7c!ln7YmsL2?WultuYlzx25u|B256ji<*)Tieqzs}el7})MN{ZP0xy;IZjIX%)p=8_ zt2D~>``RNA*?a`=9*H}5k;u4#9&H|7weuD+?d_zEQ2r?sGF%m)DlL9#omaxI3$i{AYcPTyi6ik>GcpJ5zmc9e-bb+KqAY8Z$5#KEp)_9q>Fp=#WT2cBar3|PB+N}glQ!#7K_F9_Rh}E-q|yIdwV-OyM(k} zt>1d%jf4IDgM$Me!CQRRk@Y=K+i#G;TwT-=Js1)WseC5M{6f9G+Fndx%30{pEeTKP zFjy?HOw+xL9&lyKP~^sDjsxw*ANk=Q|B3%!Z|l?39u%x)grU0XIgG{fn2?#wi^RV82U-N(;mK-6LaSD10fk|v&i84HcGZ(_7RDg{MM~hWu>dHtd!I^ zp86GRJOvglua>3@c3h?Ht?hH?&z(7Y_UyT{yL&tGRo1K3dOh~uma7%@)riWD&Ii_gyN3$w#kfN0l8pr`rW}I#5k2QXje3$xT#;&j=GhPa7r*rzyW5N9 zYFP_OHLmc>p*E&8*=v56W`BY|0>R+g-PDb zQL?x0J)ce0ekArv&FmGpHfz;XN@1PAn?>=L{>87z6%sZ;TBpcRp=aO54CqEEHVC1Z zm9W9wm`Ur_w2zEsQ1sW1BC7R{DcrTxm6$gMr+1c4%)Wu?JF)W5* zSa1wQldPajJ?O2Ejip&*8>i5^YU4Pr*`v_n3q|E41Q=jlVKT&w58YuF7m8VI*&-p` zrR2F?SFV;)2i=S`jLT>&A78l+Fc=u>F8`u}ROtL&XMgHH_=!(^@)O&&tjCjKkUd4( z@5mXL@jTKeO3s#ALI^tB1|9Z!xhWQ>bG@bL2YHw4X7Y~D4mlYto>OXDCMIPojVIlP-j3;59Yz5;;4q7raAz7 zZJARi!xYT=y#qCM!X(!fbk)*oWbd+@00zwfgRKj&?tDopD6B>h0vaiMh!SooaCAPL6gK9$A%$y7g0;OCi5(4=X12N8#KQ_(e`v$IFwG&;Ix) z9(eG+zxlJjco=r05{zThY^%85 zNR7B=lrf|Lt_y&2@XZXfl+IiM=6g^}^W@l{$!o?Kd{=stu&Xm37)sZHN7N7=pDdA1 zbqIn6J{uD$>8cE}<^eOHmN_C|go=fY!;8~Y)JG_#H>y=QkVaFGvhYEAxm2PnEJs0V zBVv`7WgEO`fyrtiv3($B828y>W#p~yqssfUdzzz3MI9e{?4e)%wZHS&Cpa zp+ak8DO3oX>XNB*XBU4AXcG`4aOW7?eafw%9;J5TDj{hV29A<$=0H~CC3g=_rYRdm zCC~Vy5)6PobPMuU1)3eZM!)KlH!hSuzz-z{zdj=eVcrE09GFH}GG3dqUSc}H%rZjr zhMwwXs5mMjT|PC9s?xihI0BO(yVQVseeTmAjfB{sRq_5;D_CiPOPc{Kd)JC8MzIRe z%2FO)oISuS*b4OL`ho1n9wbMEW{iWkV^T0AovbCKS+8LEe^9----1kmh3ax$w2b5w z1k9NO2!;73Z*FUyrJ;yf+(65X0`x_KuO=x9^|bwq8@k4|nq_MXR{c;czw z|GnQkJUUvpwpeV*MAEYt&Yd2gNSCJY9w@`cz~&*!DL^o<6oCO!%pVYw6CNhkZT4(P zO2lZ*(ZHK|c!N`3N3=Ry*b)?SS*YHUnU_f|XcYqea9ZcYQf00|EhG#$i8 zOF>gpb%GHHtLP9|c*T>)Bso>?9&H2>pZeOLW(jl&F%@92BQA7}(z=>$`gXW27&+w~ z!O1`xfSbhd^;p1D&%FQd|N7s1;DL7@9UruD&Erfv18S%Lq;XbGdi5A{p{*>TX_<91 z2qH8$_?dPWxz#u7`bzasbdd&83y85&{3(g)HA>iyd6-`ViuE!3nfzNuQAG9_QP~4n z_Jf7c{}bd!3a6tz%A?$IvT3*wU_xI+toqT#Vpb^wzg}W232x{GNnO$7YN>9|m1p(C zFTUXLP_uQ3P(Jg=`=cz0Mswbl`a&elDMgJotWx5&LECO)ftjtY_3SVp)gWAQObcEC zT)(Tdg)(aejT%FUF=d$eDFU@Zq{IrNuME-rYT3w64)JdYJuJv~vW~!{@Q*#C|L#(@ zBcHpi7?x#4U2LdR)is8=q18LPSce`Q9z5~n`#%0{AOC~@>kqGAzp+}ahechpBJs=Ap zJ~I_3z~z&hhXyhq>XRIqVd%2RxJ^LO47&uFlCTUJ4g#^oo^!8ch$}94U z0}45dqF=LE>gM8>jH1*&MmZo?ym^*{!R!PBW=NnH`sQb!`uyMjyO%ECd31QdDUouC z95fo6GImdmb%I3KqPN5=r7xL8k&DnHZXh`h6n8ijgL#aI<%&~GQ;^74OLXx-v=C^` z)FNM}2pb9C>i-vK$r90(rlUl}#8{#+fDvhK^aU=sN!dgZ`!MFANXlHQXN zP8L?7CmzPOY~oPN4c130N@M2Hqk+kK~Khz!cq4{o$rh^`CGE%TD{7axe0 zo~gLbEw}7_j2N}Ib0*QGkwG>{hHE_`z6SC~@QE89GeqEPd)V=YKm?U4eM>o=}lzI5>ie()22{^wu$ z`d|EIYkg~2wANSS^8AJK%jGFG+uOR0*}w#cG$zd0WR*#Fh+}vbf^{?sdM8363IK9o z^;irW^(ndO#u^JGx;lzaP(;Szks;dPZJ!sZ9l-i= zZ0=Uk5+CNuzR&ScVleglX;w?2+rask2TJS~&8|#50AiLQy3V-L_POnU{7--L+?{8S z4sY>sLQ%=_8%NQ(MBy~gBP;oEmKi&W5Y^FABrg8ZBtZ8L&L~2*3!sECQ!NKlCsmG2 zXbOec=V2Q(h_95%)oZh_cStt8ilM1Ap%LoIg6i7xlB z&mM2QsUc@I9JPB$UgHXaD9|@pGphWfKKtSeNKxV2arFMLwvX5Dqi8&%i%}OJVcUw912Jbr4oYC-C zR1GzhnMx%A@9(wo-|Mp9__7CM+oi0!AIC}>GjH|U?ic*B^?z65*Z|ed}8zRq*dml=5JJ9kP zo<$P>A8)LnQpo*W+nji9z-jc63zMdw-Tt&JT>#_@8DZ2JHF9~W}U1j*U*gLK}{ z0+!XIEHL$eBL)!D(TP#@vOTUlIsy55H|kNi=WfKhA2R1JmPz%E9Xic zePd&gqXEAz9jF4pthDOg1U)XLNMS&AtX-LSJ=VS0N#2)b>Ov$h&U-f5A;sl!{{ zH-KK)vwsAHad~)fbnx5@AN=h{|C^uvnZNPc>#x%awzs#BkB;~5*e!s^ho>ZiPt&w! zUxT``wHs333k4HtIRPylD;^Zm9ziSYU_M>sKV85n&2|l?3^^$cqEZD}hAcgb(f5Si zEDFI>I!yI_T?M+>ij9Y0g;upd%8IM1(a_2D)_MF#9-(1PI|j`8BJ}BT7D2F6_%jql zo>)_i4g^d?ux+f729oZldjKt_-1T3fvriwQz+Afl7NsSzRTC0w{5N1u4*IIPKv>z@+ zIeT&2mrk?tkSk!-yv^5^x2dTDn!IkN3^u5{o1cO$9c6w;^1&9T8$owzIYN$>@$^{L z$^%f+oq55*k_m;Q+6<#Hxp03&2PlL5xTz4t3gJc#@g3lybMt*VEBn}D70H&^rx}fF zE6y5G?68N{TJ)`Ic_}`<=JhGy8Z8a!{+oR$ z|MFk`55N1r|Neje4}Rm?Th~e*PL7s~t;L;}&)>Xpv#)fLtQxoIU7zlciXYh8O6v?F z=^$&IO`3ukxu2vzB~SP14nqUN`a(gw0J?v@#B7P6pP%{#Rf+Gz{B(rA)22EzU-Kev zi{P8xiG91<$lVz*^6HwP?sN^X$+Q^~A*3vI8ElN*a#>ap2&5J5fhF^DZ+jdSQWKH> zu(Yi$SM>{)_(k+gTSBfM$KotkNT{p^sN%?yyq3+c zFZ4IFU>9U4%tiSM4~39Lbfz|WY|=~qaS0;_AOUx}%-G^FzG(CErLfh)%? zwvhaje>=8LBTu#NFt*-q+`73~EWZEye*jDQ(jR}Z_b#gYbLY@UXK9thI8 z6X8;$5m`P)nRUj{{3HXUd@y06I3c3bX1sRTOYYB`9%(`@qe|n2qa`1+8o@IaQ$qNR z9CR3MdIL0Rf%aZ^3&c@aQ!JoSHSPJ#OJL&f=T{)rbqrE@P?BiRJhCO~1T<|Rj}vLA_tDUuv_jhTh}Tjqb(wY6399P! zRHI;0B>sNF8+FtHCYFQQG$FhDD(H5ZEdtIhU{WZX2UzsNnKkPNeM`BeQ0}<(m_bZ> zF}w-Ex|01c0pze*z$_S`phzgTa;lt>vaV6g6LpVO+fC7CZ11d0W0Ax1YoOq;r#oGr z`}7OwrG*%EI}3l#R2p|vGFsH$Fw>Wsd#Si8mYMe-CY1Y;!FjM2>=8Z`1VuO$%Ef z(k;WRB5c$mm~14&z+CCzINMumx--Bq3v~gxolZ_q4v%hq=((rwym;3i{GWda4O(x@ z)pBodcUTO|)e5`wq^hn7wTWl7cBKfG27b5E$m$YT2o{bk7xVT15?)KL1;kkk$sBx8K1c&4h~x`S%H zrf3YIQ9}TAU>EQ$y!)MZ|IJ_c+|$o}@WzcdTU*O&&;+M9767sU%eFOH$<+*=Kx(G; zGnXf!1>a^xS9x$FWmz4_N-8Ej9g;3751ACB`el=r#{ZVj?jQ`nA(A`41Q3LXsZOz= zyBX@ewVGQ*ZJKkekZUj$e4&0e)P4cynk?*+8>iWeB-raTonBF;%dEi+T$eFxqRk&6 z=yxy|w_cw$ovhp3VM#GG!9V@ZGZ}tL`fP)ikY7RBcyPj#;6?6K!9d&uK{l(yxBT2) zEkRLALd3rsB4Pd%_B~W*qG^DYHR1;I4GZbjgex_gq6!mvaZ8X?T0k;F%mf97NmWfsM)L*}3rH-l`7${X<3 zJ3TfYh4J?8mTM=gP#(TH5mL26k{F|L3zkNqNaLYljYrZ&zeMyv&k}!}U95TBR#@hA z8H7;O|0I;B18Hk5by1?c3Fd&k!P{`J;ILsxn*o1{+;V_pWH?zk+r zn|+k%u0f-4msM(2Z*tkSh3T#)Q(#I#>Tb+uTJCHnmDJo0L=HZ(evDYB?y{ER)rItZBOM#LK;jsrh^d$6v0{Autnp=)Inny ze7ZWlc=4`Jed<%4`d7d5@_M-*`4_u;+dF%^jYb}^?b`Zchf2X%ZImFZCrOC~!?dbm zc3uv*X|EvWRqp%J3m=*$*)sE_0*oUte43*xCJHW9B6X*NyFkUkX`X(*R%X;w`in8U zVBHGE(-@49;jCB5rv&*IbWsr`T*M2i)LMtFVNqLYm#$v?kAC?V9(ed&w+?Q$wx&Lc z^Ekzg7G}y;k9FIJ+E3CW4a*iNt>2(EsSh|}wJL&noN6-|`B;B@gOo>Wr&Jm_k@c@~ zrMTV*1TmU8g+s~*VgNPAzIqlK;B;dJ4BXn20x{Kt0|lg^5oYfT-V>&1+z$`m<0>$4 z>8;UwzW%xi5TfqFe3QxGlrwOf%0T?KR3PX9tk1sq5si!*iE=s?Aqg_SmRKr7lsaam zB&*Njzb^TrBSJ`dHu@mckG13lj~RYK&ihl|s+NY?$~JvqwZADLMli0nI5jeZZva++ z(kUjIQW=6^fqTGMIqDrdC|GFH9V<(nJq@Vz&^3}%vP!`6E$e}HSrOS`q|rii+I7sd z83g86TDRqDdF$ZTbI*O~$!~h{<(FT+dE@33pvRH0@9ympbe_Vp`3D^#Y~ss#dXKTv zHIx_#@!!n?8QzXq!OmicNk3pQ_cr#{30@Hr{@DwwFwQobSp{fAZmD%xETBNE^z?_H{@gEou334Y9{ zpqGaH#q!^k3eYcMxd11E^`@@1otWsBIKdp= zn&R7XEQ6(<>vdOwTYRM4bkLQb)vVw9zKqFbyh?^&q?@ugrE!~C9(2_q@W*Wg{rdim zJMTLG?cecjZ@+!*8(;qhGrG85t#a!c_>b6YIf>m`fsHl3ow)j_bBtBXB#c z>|PtnJ2ovB%1r_gl%`ZDP&pjP|Ft`c*$gD^mk-S}${~x;)!N4HuS0b=x%cL`&O?nz zhgPB*A<8iW5nyK}FKb9LjaT@W%lGcKikL2d84FchwrVvlxuV4#3(emsX21aAjAQY% zuB0lH!TQ*Z#<&>)Y^nx9rWl-Wu*0q|h|-G(?%QXKXCih^;l?76D_E?yNY;4gs^e}X zIa#I!mNFP?*0Vi?z!+;XZ_*^IHfRE6O>H0%vnBRRBdbAIaKgdEu?obj2;ssoe*Ahp zz1Z=|>B;f&M?dz$9cOo6e(7t=lO;fD>-DfzcXoHBq^6A@mS<%YABit&RrR*jj&p*+ z{v?l~dDxCuCrn(F)9dlpiOLP`FVrKHaEA_Lb$%_e@TsdE-EkPgq!4G*BXkqmVAN11 z$hNlz1`2)^=K3JSxFGDLuJ-SUxV^It1!#Z|KKp^6`s+V+?#?sUuD#Lv$eS08a1zGP z?VzIu;2_SOP=&lQEg`A9p!22~1(4uVDOxPvU|(6<~xxs#HT_mdR4e%>*X}8eR5%hGiw) zA}#ESr<0TMn#*@7)OMP}SuYY>CCF-EgxD2L6$eW0cBg?mg%Y8AW3G@7Dm;*8K1amU zZE3vKVZ3#4@ZR^m_ah(q@XZ_huf6(e8>dH&y>0LAY;A9~arAl1DQ(YxFf0}l!326k zVIDmDGgcT8O$bdV?J+>i2 zEdyF|0|sff0=RN();b|8h3!ABK|V@(@?iw0O-R05 z;o6kUwra^Q)(ju`m3GeoY13>iWq1NnyATVJZ#dmf0X_WAkX1f3ce24ZnGWjR+7OkD zm@CbCd^Y8$8f|ZF-?4YcwYT2>*Z9DXU+9nVzwwS%3p=!CqT-!LXwNO&c_yF7wsDc+3!-h; zYO}d7)mpXrI^Iz~m13>PIRa(+Vzo3RAd7E{6tBQY5!F;t+G9d;H0@ue3_0U7_q;;l0Wc8)o-q2Tf?_+iltSrn^Vg#EVI0D?P^$$-Xjb##2xpg;Yg4?g++CvV)mcJunpak=I(S!H)` zXV|K(H%Ys5A>R*d2sn}8o-+kBOZ@fOQ4^STwM4apEFSwJAk1_s%#3L)m}ekO=?N)! zO_>X2iZ?h0M^TPntpLWb6m7~!^dmqp#2O{g*cQVfvvEzy80!ZKrg`8gFa(fHqi9E3$3?22ZJxjR$%{ zpJe463hLZKjNC5`hZs9?mb1iByqTSN-+@Cx2v#8;YTrm@>?y)(y-bT^o!r#OGM>QD zKHY#KQNZr1kJL=j!R#e$l_dsNL3LN;6iJ1dvBh=kp)}UuQlI(c^I=Tw89Z72!{Q=Q z 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 { }, [step, currentStep]); return ( - { transition={{ duration: 0.3, ease: "easeIn" }} className="mx-2 h-px flex-1" /> - + ); }; diff --git a/example/src/pages/_document.tsx b/example/src/pages/_document.tsx new file mode 100644 index 0000000..d8c64c4 --- /dev/null +++ b/example/src/pages/_document.tsx @@ -0,0 +1,51 @@ +import { Html, Head, Main, NextScript } from "next/document"; + +export default function Document() { + return ( + + + + + + + + + paymongo.js + + + + + + + + + + + + + + + + + +

+ + + + ); +} diff --git a/example/src/pages/api/og.tsx b/example/src/pages/api/og.tsx new file mode 100644 index 0000000..31eaf1c --- /dev/null +++ b/example/src/pages/api/og.tsx @@ -0,0 +1,101 @@ +import { ImageResponse } from "@vercel/og"; +import { NextRequest } from "next/server"; + +export const config = { + runtime: "edge", +}; + +const getStats = async (username: string, repo: string) => { + const stats = await ( + await fetch(`https://api.github.com/repos/${username}/${repo}`) + ).json(); + + return stats; +}; + +export default async function handler(_: NextRequest) { + const username = "omsimos"; + const repo = "paymongo.js"; + const stats = await getStats(username, repo); + let stars: null | number = null; + let description: null | string = null; + + if (stats.stargazers_count) { + stars = stats.stargazers_count; + } + + if (stats.description) { + description = stats.description; + } + + const now = new Date(); + + return new ImageResponse( + ( +
+
+
+

paymongo.js

+ {stars &&

🌟 {stars}

} +
+ {description &&

{description}

} +
+ +
+
+ avatar + +

+ github.com/{username}/{repo} +

+
+ +

Last updated: {now.toLocaleDateString()}

+
+
+ ), + { + width: 1200, + height: 630, + } + ); +} From 2e49082526e0c836afdfe9ef2e533731e6073073 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 29 Mar 2023 23:28:49 +0800 Subject: [PATCH 39/44] chore: exclude example --- .github/workflows/main.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7c9973a..8b337ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,14 +1,10 @@ name: CI on: push: - branches: - - "**" paths-ignore: - "example/**" - - "README.md" - - "LICENSE" - - "CONTRIBUTING.md" - - "CODE_OF_CONDUCT.md" + branches: + - "**" jobs: build: From f1380c4265254365982d2ba2f675650cc6a892b8 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 29 Mar 2023 23:31:31 +0800 Subject: [PATCH 40/44] fix: gumagana pala --- .github/workflows/main.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b337ec..7c9973a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,10 +1,14 @@ name: CI on: push: - paths-ignore: - - "example/**" branches: - "**" + paths-ignore: + - "example/**" + - "README.md" + - "LICENSE" + - "CONTRIBUTING.md" + - "CODE_OF_CONDUCT.md" jobs: build: From 9e68a285344ebd620ca09f7b013da62604a8ecac Mon Sep 17 00:00:00 2001 From: princejoogie Date: Wed, 29 Mar 2023 23:36:12 +0800 Subject: [PATCH 41/44] chore: test example change --- example/src/pages/_document.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/src/pages/_document.tsx b/example/src/pages/_document.tsx index d8c64c4..f4bbc8f 100644 --- a/example/src/pages/_document.tsx +++ b/example/src/pages/_document.tsx @@ -8,7 +8,7 @@ export default function Document() { - + paymongo.js Date: Sat, 1 Apr 2023 01:25:18 +0800 Subject: [PATCH 42/44] chore: update packages --- example/package.json | 22 +-- example/pnpm-lock.yaml | 384 +++++++++++++++++++++++------------------ package.json | 10 +- pnpm-lock.yaml | 179 +++++++++---------- 4 files changed, 320 insertions(+), 275 deletions(-) diff --git a/example/package.json b/example/package.json index 5017d1b..5b75810 100644 --- a/example/package.json +++ b/example/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@vercel/og": "^0.5.0", - "framer-motion": "^10.8.5", + "framer-motion": "^10.10.0", "next": "^13.2.1", "paymongo.js": "link:../dist", "react": "18.2.0", @@ -18,21 +18,21 @@ "zod": "^3.20.6" }, "devDependencies": { - "@types/eslint": "^8.21.1", - "@types/node": "^18.14.0", + "@types/eslint": "^8.37.0", + "@types/node": "^18.15.11", "@types/prettier": "^2.7.2", - "@types/react": "^18.0.28", + "@types/react": "^18.0.31", "@types/react-dom": "^18.0.11", - "@typescript-eslint/eslint-plugin": "^5.53.0", - "@typescript-eslint/parser": "^5.53.0", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", "autoprefixer": "^10.4.7", - "eslint": "^8.34.0", + "eslint": "^8.37.0", "eslint-config-next": "^13.2.1", "postcss": "^8.4.14", - "prettier": "^2.8.1", - "prettier-plugin-tailwindcss": "^0.2.1", - "tailwindcss": "^3.2.0", - "typescript": "^4.9.5" + "prettier": "^2.8.7", + "prettier-plugin-tailwindcss": "^0.2.6", + "tailwindcss": "^3.3.1", + "typescript": "^5.0.3" }, "ct3aMetadata": { "initVersion": "7.8.0" diff --git a/example/pnpm-lock.yaml b/example/pnpm-lock.yaml index a94d999..281d9d3 100644 --- a/example/pnpm-lock.yaml +++ b/example/pnpm-lock.yaml @@ -1,32 +1,32 @@ lockfileVersion: 5.4 specifiers: - '@types/eslint': ^8.21.1 - '@types/node': ^18.14.0 + '@types/eslint': ^8.37.0 + '@types/node': ^18.15.11 '@types/prettier': ^2.7.2 - '@types/react': ^18.0.28 + '@types/react': ^18.0.31 '@types/react-dom': ^18.0.11 - '@typescript-eslint/eslint-plugin': ^5.53.0 - '@typescript-eslint/parser': ^5.53.0 + '@typescript-eslint/eslint-plugin': ^5.57.0 + '@typescript-eslint/parser': ^5.57.0 '@vercel/og': ^0.5.0 autoprefixer: ^10.4.7 - eslint: ^8.34.0 + eslint: ^8.37.0 eslint-config-next: ^13.2.1 - framer-motion: ^10.8.5 + framer-motion: ^10.10.0 next: ^13.2.1 paymongo.js: link:../dist postcss: ^8.4.14 - prettier: ^2.8.1 - prettier-plugin-tailwindcss: ^0.2.1 + prettier: ^2.8.7 + prettier-plugin-tailwindcss: ^0.2.6 react: 18.2.0 react-dom: 18.2.0 - tailwindcss: ^3.2.0 - typescript: ^4.9.5 + tailwindcss: ^3.3.1 + typescript: ^5.0.3 zod: ^3.20.6 dependencies: '@vercel/og': 0.5.0 - framer-motion: 10.8.5_biqbaboplfbrettd7655fr4n2y + framer-motion: 10.10.0_biqbaboplfbrettd7655fr4n2y next: 13.2.4_biqbaboplfbrettd7655fr4n2y paymongo.js: link:../dist react: 18.2.0 @@ -34,21 +34,21 @@ dependencies: zod: 3.21.4 devDependencies: - '@types/eslint': 8.21.3 - '@types/node': 18.15.5 + '@types/eslint': 8.37.0 + '@types/node': 18.15.11 '@types/prettier': 2.7.2 - '@types/react': 18.0.28 + '@types/react': 18.0.31 '@types/react-dom': 18.0.11 - '@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/eslint-plugin': 5.57.0_z24sz2fazj3bxoipp6m4s7b2mi + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm autoprefixer: 10.4.14_postcss@8.4.21 - eslint: 8.36.0 - eslint-config-next: 13.2.4_vgl77cfdswitgr47lm5swmv43m + eslint: 8.37.0 + eslint-config-next: 13.2.4_vwh6htx42aidho2qgfca5u5rwm postcss: 8.4.21 - prettier: 2.8.6 - prettier-plugin-tailwindcss: 0.2.5_prettier@2.8.6 - tailwindcss: 3.2.7_postcss@8.4.21 - typescript: 4.9.5 + prettier: 2.8.7 + prettier-plugin-tailwindcss: 0.2.6_prettier@2.8.7 + tailwindcss: 3.3.1_postcss@8.4.21 + typescript: 5.0.3 packages: @@ -72,14 +72,14 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils/4.3.0_eslint@8.36.0: + /@eslint-community/eslint-utils/4.3.0_eslint@8.37.0: resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.36.0 - eslint-visitor-keys: 3.3.0 + eslint: 8.37.0 + eslint-visitor-keys: 3.4.0 dev: true /@eslint-community/regexpp/4.4.0: @@ -87,13 +87,13 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc/2.0.1: - resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + /@eslint/eslintrc/2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.0 + espree: 9.5.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -104,8 +104,8 @@ packages: - supports-color dev: true - /@eslint/js/8.36.0: - resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + /@eslint/js/8.37.0: + resolution: {integrity: sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -313,8 +313,8 @@ packages: tslib: 2.5.0 dev: false - /@types/eslint/8.21.3: - resolution: {integrity: sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==} + /@types/eslint/8.37.0: + resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} dependencies: '@types/estree': 1.0.0 '@types/json-schema': 7.0.11 @@ -332,8 +332,8 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/node/18.15.5: - resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} + /@types/node/18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} dev: true /@types/prettier/2.7.2: @@ -347,11 +347,11 @@ packages: /@types/react-dom/18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: - '@types/react': 18.0.28 + '@types/react': 18.0.31 dev: true - /@types/react/18.0.28: - resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} + /@types/react/18.0.31: + resolution: {integrity: sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -366,8 +366,8 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.56.0_iskin7c6dxqunwflhstekcjqmq: - resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==} + /@typescript-eslint/eslint-plugin/5.57.0_z24sz2fazj3bxoipp6m4s7b2mi: + resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -378,24 +378,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/type-utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m - '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/type-utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + '@typescript-eslint/utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm debug: 4.3.4 - eslint: 8.36.0 + eslint: 8.37.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.56.0_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} + /@typescript-eslint/parser/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -404,26 +404,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 debug: 4.3.4 - eslint: 8.36.0 - typescript: 4.9.5 + eslint: 8.37.0 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.56.0: - resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==} + /@typescript-eslint/scope-manager/5.57.0: + resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/visitor-keys': 5.56.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/visitor-keys': 5.57.0 dev: true - /@typescript-eslint/type-utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==} + /@typescript-eslint/type-utils/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -432,23 +432,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + '@typescript-eslint/utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm debug: 4.3.4 - eslint: 8.36.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + eslint: 8.37.0 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.56.0: - resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==} + /@typescript-eslint/types/5.57.0: + resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.56.0_typescript@4.9.5: - resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} + /@typescript-eslint/typescript-estree/5.57.0_typescript@5.0.3: + resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -456,31 +456,31 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/visitor-keys': 5.56.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/visitor-keys': 5.57.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.56.0_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==} + /@typescript-eslint/utils/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@eslint-community/eslint-utils': 4.3.0_eslint@8.37.0 '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5 - eslint: 8.36.0 + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + eslint: 8.37.0 eslint-scope: 5.1.1 semver: 7.3.8 transitivePeerDependencies: @@ -488,11 +488,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.56.0: - resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==} + /@typescript-eslint/visitor-keys/5.57.0: + resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/types': 5.57.0 eslint-visitor-keys: 3.3.0 dev: true @@ -513,25 +513,6 @@ packages: acorn: 8.8.2 dev: true - /acorn-node/1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - dev: true - - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - /acorn/8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -559,6 +540,10 @@ packages: color-convert: 2.0.1 dev: true + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + /anymatch/3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -771,6 +756,11 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -881,20 +871,6 @@ packages: object-keys: 1.1.1 dev: true - /defined/1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - dev: true - - /detective/5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - acorn-node: 1.8.2 - defined: 1.0.1 - minimist: 1.2.8 - dev: true - /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true @@ -1032,7 +1008,7 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-next/13.2.4_vgl77cfdswitgr47lm5swmv43m: + /eslint-config-next/13.2.4_vwh6htx42aidho2qgfca5u5rwm: resolution: {integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -1043,15 +1019,15 @@ packages: dependencies: '@next/eslint-plugin-next': 13.2.4 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m - eslint: 8.36.0 + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + eslint: 8.37.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy - eslint-plugin-import: 2.27.5_as6wyplljmmarlclp2tx3tj6rq - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.36.0 - eslint-plugin-react: 7.32.2_eslint@8.36.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.36.0 - typescript: 4.9.5 + eslint-import-resolver-typescript: 3.5.3_rbts4wm34tb3x7owcp777e4f4y + eslint-plugin-import: 2.27.5_os2brejsu4pdxnync3i6emrvty + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.37.0 + eslint-plugin-react: 7.32.2_eslint@8.37.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.37.0 + typescript: 5.0.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color @@ -1067,7 +1043,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript/3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy: + /eslint-import-resolver-typescript/3.5.3_rbts4wm34tb3x7owcp777e4f4y: resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1076,8 +1052,8 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.12.0 - eslint: 8.36.0 - eslint-plugin-import: 2.27.5_as6wyplljmmarlclp2tx3tj6rq + eslint: 8.37.0 + eslint-plugin-import: 2.27.5_os2brejsu4pdxnync3i6emrvty get-tsconfig: 4.4.0 globby: 13.1.3 is-core-module: 2.11.0 @@ -1087,7 +1063,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_ab4tb467oik4rhsaavmctlutka: + /eslint-module-utils/2.7.4_sls53yzzjnr46eceejcxu7ug4i: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -1108,16 +1084,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm debug: 3.2.7 - eslint: 8.36.0 + eslint: 8.37.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy + eslint-import-resolver-typescript: 3.5.3_rbts4wm34tb3x7owcp777e4f4y transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import/2.27.5_as6wyplljmmarlclp2tx3tj6rq: + /eslint-plugin-import/2.27.5_os2brejsu4pdxnync3i6emrvty: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -1127,15 +1103,15 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.37.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_ab4tb467oik4rhsaavmctlutka + eslint-module-utils: 2.7.4_sls53yzzjnr46eceejcxu7ug4i has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -1150,7 +1126,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y/6.7.1_eslint@8.36.0: + /eslint-plugin-jsx-a11y/6.7.1_eslint@8.37.0: resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -1165,7 +1141,7 @@ packages: axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.36.0 + eslint: 8.37.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -1175,16 +1151,16 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.36.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.37.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.36.0 + eslint: 8.37.0 dev: true - /eslint-plugin-react/7.32.2_eslint@8.36.0: + /eslint-plugin-react/7.32.2_eslint@8.37.0: resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -1194,7 +1170,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.37.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -1229,15 +1205,20 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.36.0: - resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + /eslint-visitor-keys/3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.37.0: + resolution: {integrity: sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@eslint-community/eslint-utils': 4.3.0_eslint@8.37.0 '@eslint-community/regexpp': 4.4.0 - '@eslint/eslintrc': 2.0.1 - '@eslint/js': 8.36.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.37.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -1248,8 +1229,8 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -1278,13 +1259,13 @@ packages: - supports-color dev: true - /espree/9.5.0: - resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + /espree/9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2_acorn@8.8.2 - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.0 dev: true /esquery/1.5.0: @@ -1393,8 +1374,8 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /framer-motion/10.8.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-qwvUAIwCc6fEZhg7ST+/z+f7Vt882jJvLiWZUHNdq2oZ/Y7gM6mLlpKi9xQg+pLu6DQVypikcKQ+MKnoFoXAJg==} + /framer-motion/10.10.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-eCsyOcJimIRbx9KOzBTO3j9u1rF/H8/o/ybizYqdrzHkEeHx9L2NcEfGWfV0OHTc1JV17ECVzuZpomupEJ4+dw==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -1475,6 +1456,17 @@ packages: is-glob: 4.0.3 dev: true + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob/7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} dependencies: @@ -1807,6 +1799,11 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /jiti/1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + dev: true + /js-sdsl/4.4.0: resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} dev: true @@ -1874,6 +1871,10 @@ packages: unicode-trie: 2.0.0 dev: false + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1929,6 +1930,14 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2163,6 +2172,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + /postcss-import/14.1.0_postcss@8.4.21: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} @@ -2246,8 +2260,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-tailwindcss/0.2.5_prettier@2.8.6: - resolution: {integrity: sha512-vZ/iKieyCx0WTxHbkf5E1rBlv/ybFk8WTT4hL5W2jlVxum2Zbe0jMUpuQdDrpa4z2vnPiJ5KIWCqL/kd16fKYg==} + /prettier-plugin-tailwindcss/0.2.6_prettier@2.8.7: + resolution: {integrity: sha512-F+7XCl9RLF/LPrGdUMHWpsT6TM31JraonAUyE6eBmpqymFvDwyl0ETHsKFHP1NG+sEfv8bmKqnTxEbWQbHPlBA==} engines: {node: '>=12.17.0'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' @@ -2298,11 +2312,11 @@ packages: prettier-plugin-twig-melody: optional: true dependencies: - prettier: 2.8.6 + prettier: 2.8.7 dev: true - /prettier/2.8.6: - resolution: {integrity: sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==} + /prettier/2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -2575,6 +2589,19 @@ packages: react: 18.2.0 dev: false + /sucrase/3.31.0: + resolution: {integrity: sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + dev: true + /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2595,8 +2622,8 @@ packages: tslib: 2.5.0 dev: true - /tailwindcss/3.2.7_postcss@8.4.21: - resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} + /tailwindcss/3.3.1_postcss@8.4.21: + resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==} engines: {node: '>=12.13.0'} hasBin: true peerDependencies: @@ -2605,12 +2632,12 @@ packages: arg: 5.0.2 chokidar: 3.5.3 color-name: 1.1.4 - detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.12 glob-parent: 6.0.2 is-glob: 4.0.3 + jiti: 1.18.2 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -2625,6 +2652,7 @@ packages: postcss-value-parser: 4.2.0 quick-lru: 5.1.1 resolve: 1.22.1 + sucrase: 3.31.0 transitivePeerDependencies: - ts-node dev: true @@ -2638,6 +2666,19 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /tiny-glob/0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: @@ -2656,6 +2697,10 @@ packages: is-number: 7.0.0 dev: true + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /tsconfig-paths/3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -2672,14 +2717,14 @@ packages: /tslib/2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tsutils/3.21.0_typescript@4.9.5: + /tsutils/3.21.0_typescript@5.0.3: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.3 dev: true /type-check/0.4.0: @@ -2702,9 +2747,9 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript/5.0.3: + resolution: {integrity: sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==} + engines: {node: '>=12.20'} hasBin: true dev: true @@ -2793,11 +2838,6 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true diff --git a/package.json b/package.json index 77db901..f595a41 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,16 @@ }, "devDependencies": { "@changesets/cli": "^2.26.0", - "@typescript-eslint/eslint-plugin": "^5.9.0", - "@typescript-eslint/parser": "^5.9.0", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", "@vitest/coverage-c8": "^0.29.7", "dotenv": "^16.0.3", - "eslint": "^8.6.0", + "eslint": "^8.37.0", "eslint-config-prettier": "^8.3.0", - "prettier": "2.8.6", + "prettier": "2.8.7", "tslib": "^2.3.1", "tsup": "^6.7.0", - "typescript": "^5.0.2", + "typescript": "^5.0.3", "vitest": "^0.29.7" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b63208d..8f61063 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,17 +2,17 @@ lockfileVersion: 5.4 specifiers: '@changesets/cli': ^2.26.0 - '@typescript-eslint/eslint-plugin': ^5.9.0 - '@typescript-eslint/parser': ^5.9.0 + '@typescript-eslint/eslint-plugin': ^5.57.0 + '@typescript-eslint/parser': ^5.57.0 '@vitest/coverage-c8': ^0.29.7 axios: ^1.3.4 dotenv: ^16.0.3 - eslint: ^8.6.0 + eslint: ^8.37.0 eslint-config-prettier: ^8.3.0 - prettier: 2.8.6 + prettier: 2.8.7 tslib: ^2.3.1 tsup: ^6.7.0 - typescript: ^5.0.2 + typescript: ^5.0.3 vitest: ^0.29.7 zod: ^3.21.4 @@ -22,16 +22,16 @@ dependencies: devDependencies: '@changesets/cli': 2.26.0 - '@typescript-eslint/eslint-plugin': 5.56.0_2hcjazgfnbtq42tcc73br2vup4 - '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu + '@typescript-eslint/eslint-plugin': 5.57.0_z24sz2fazj3bxoipp6m4s7b2mi + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm '@vitest/coverage-c8': 0.29.7_vitest@0.29.7 dotenv: 16.0.3 - eslint: 8.36.0 - eslint-config-prettier: 8.8.0_eslint@8.36.0 - prettier: 2.8.6 + eslint: 8.37.0 + eslint-config-prettier: 8.8.0_eslint@8.37.0 + prettier: 2.8.7 tslib: 2.5.0 - tsup: 6.7.0_typescript@5.0.2 - typescript: 5.0.2 + tsup: 6.7.0_typescript@5.0.3 + typescript: 5.0.3 vitest: 0.29.7 packages: @@ -81,7 +81,7 @@ packages: fs-extra: 7.0.1 lodash.startcase: 4.4.0 outdent: 0.5.0 - prettier: 2.8.6 + prettier: 2.8.7 resolve-from: 5.0.0 semver: 5.7.1 dev: true @@ -249,7 +249,7 @@ packages: '@changesets/types': 5.2.1 fs-extra: 7.0.1 human-id: 1.0.2 - prettier: 2.8.6 + prettier: 2.8.7 dev: true /@esbuild/android-arm/0.17.12: @@ -450,14 +450,14 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils/4.3.0_eslint@8.36.0: + /@eslint-community/eslint-utils/4.3.0_eslint@8.37.0: resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.36.0 - eslint-visitor-keys: 3.3.0 + eslint: 8.37.0 + eslint-visitor-keys: 3.4.0 dev: true /@eslint-community/regexpp/4.4.0: @@ -465,13 +465,13 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc/2.0.1: - resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + /@eslint/eslintrc/2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.0 + espree: 9.5.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -482,8 +482,8 @@ packages: - supports-color dev: true - /@eslint/js/8.36.0: - resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + /@eslint/js/8.37.0: + resolution: {integrity: sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -617,8 +617,8 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.56.0_2hcjazgfnbtq42tcc73br2vup4: - resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==} + /@typescript-eslint/eslint-plugin/5.57.0_z24sz2fazj3bxoipp6m4s7b2mi: + resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -629,24 +629,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/type-utils': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu - '@typescript-eslint/utils': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/type-utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + '@typescript-eslint/utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm debug: 4.3.4 - eslint: 8.36.0 + eslint: 8.37.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@5.0.2 - typescript: 5.0.2 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.56.0_j4766f7ecgqbon3u7zlxn5zszu: - resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} + /@typescript-eslint/parser/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -655,26 +655,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0_typescript@5.0.2 + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 debug: 4.3.4 - eslint: 8.36.0 - typescript: 5.0.2 + eslint: 8.37.0 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.56.0: - resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==} + /@typescript-eslint/scope-manager/5.57.0: + resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/visitor-keys': 5.56.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/visitor-keys': 5.57.0 dev: true - /@typescript-eslint/type-utils/5.56.0_j4766f7ecgqbon3u7zlxn5zszu: - resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==} + /@typescript-eslint/type-utils/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -683,23 +683,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.56.0_typescript@5.0.2 - '@typescript-eslint/utils': 5.56.0_j4766f7ecgqbon3u7zlxn5zszu + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + '@typescript-eslint/utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm debug: 4.3.4 - eslint: 8.36.0 - tsutils: 3.21.0_typescript@5.0.2 - typescript: 5.0.2 + eslint: 8.37.0 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.56.0: - resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==} + /@typescript-eslint/types/5.57.0: + resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.56.0_typescript@5.0.2: - resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} + /@typescript-eslint/typescript-estree/5.57.0_typescript@5.0.3: + resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -707,31 +707,31 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/visitor-keys': 5.56.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/visitor-keys': 5.57.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@5.0.2 - typescript: 5.0.2 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.56.0_j4766f7ecgqbon3u7zlxn5zszu: - resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==} + /@typescript-eslint/utils/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@eslint-community/eslint-utils': 4.3.0_eslint@8.37.0 '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0_typescript@5.0.2 - eslint: 8.36.0 + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + eslint: 8.37.0 eslint-scope: 5.1.1 semver: 7.3.8 transitivePeerDependencies: @@ -739,11 +739,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.56.0: - resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==} + /@typescript-eslint/visitor-keys/5.57.0: + resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.56.0 + '@typescript-eslint/types': 5.57.0 eslint-visitor-keys: 3.3.0 dev: true @@ -1418,13 +1418,13 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.8.0_eslint@8.36.0: + /eslint-config-prettier/8.8.0_eslint@8.37.0: resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.36.0 + eslint: 8.37.0 dev: true /eslint-scope/5.1.1: @@ -1448,15 +1448,20 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.36.0: - resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + /eslint-visitor-keys/3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.37.0: + resolution: {integrity: sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.3.0_eslint@8.36.0 + '@eslint-community/eslint-utils': 4.3.0_eslint@8.37.0 '@eslint-community/regexpp': 4.4.0 - '@eslint/eslintrc': 2.0.1 - '@eslint/js': 8.36.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.37.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -1467,8 +1472,8 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -1497,13 +1502,13 @@ packages: - supports-color dev: true - /espree/9.5.0: - resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + /espree/9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2_acorn@8.8.2 - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.0 dev: true /esprima/4.0.1: @@ -2670,8 +2675,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier/2.8.6: - resolution: {integrity: sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==} + /prettier/2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -3190,7 +3195,7 @@ packages: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: true - /tsup/6.7.0_typescript@5.0.2: + /tsup/6.7.0_typescript@5.0.3: resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} engines: {node: '>=14.18'} hasBin: true @@ -3220,20 +3225,20 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.30.0 tree-kill: 1.2.2 - typescript: 5.0.2 + typescript: 5.0.3 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils/3.21.0_typescript@5.0.2: + /tsutils/3.21.0_typescript@5.0.3: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.0.2 + typescript: 5.0.3 dev: true /tty-table/4.2.1: @@ -3290,8 +3295,8 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript/5.0.2: - resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} + /typescript/5.0.3: + resolution: {integrity: sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==} engines: {node: '>=12.20'} hasBin: true dev: true From c9cdac25d48e535bcbf910e30a37213db2fb33ac Mon Sep 17 00:00:00 2001 From: princejoogie Date: Sat, 1 Apr 2023 02:24:04 +0800 Subject: [PATCH 43/44] chore: add store --- example/public/assets/bank.png | Bin 0 -> 836 bytes example/public/assets/gcash.png | Bin 0 -> 9003 bytes example/public/assets/grabpay.png | Bin 0 -> 6016 bytes example/public/assets/maya.svg | 1 + .../components/panels/payment-information.tsx | 78 ++++++++++++++++-- example/src/lib/store.tsx | 35 ++++++++ example/src/pages/_document.tsx | 2 - example/src/pages/index.tsx | 58 +++++++++---- 8 files changed, 148 insertions(+), 26 deletions(-) create mode 100644 example/public/assets/bank.png create mode 100644 example/public/assets/gcash.png create mode 100644 example/public/assets/grabpay.png create mode 100644 example/public/assets/maya.svg create mode 100644 example/src/lib/store.tsx diff --git a/example/public/assets/bank.png b/example/public/assets/bank.png new file mode 100644 index 0000000000000000000000000000000000000000..e9479f01baef395077309025f46d58987a4a9192 GIT binary patch literal 836 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 MfK+8GrOkr>3&EzPL;wH) literal 0 HcmV?d00001 diff --git a/example/public/assets/grabpay.png b/example/public/assets/grabpay.png new file mode 100644 index 0000000000000000000000000000000000000000..ed44c6d9e81bd63603ed40c1f1567f39c3ab38c7 GIT binary patch literal 6016 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 literal 0 HcmV?d00001 diff --git a/example/public/assets/maya.svg b/example/public/assets/maya.svg new file mode 100644 index 0000000..b2013e3 --- /dev/null +++ b/example/public/assets/maya.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/example/src/components/panels/payment-information.tsx b/example/src/components/panels/payment-information.tsx index 4cb1a69..82e21d0 100644 --- a/example/src/components/panels/payment-information.tsx +++ b/example/src/components/panels/payment-information.tsx @@ -1,12 +1,78 @@ +import { useStore } from "~/lib/store"; + export const PaymentInformation = () => { + const { paymentMethod, setStore } = useStore(); + return (
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa sapiente - ratione qui ea repellat ut corrupti, excepturi libero asperiores vel fugit - id consequatur, ex ipsum quo totam nemo cupiditate! Placeat ut ducimus - possimus blanditiis? Omnis ratione adipisci eligendi repellendus fuga - tempore sed dignissimos asperiores corporis? Aliquam perferendis quos - consequuntur suscipit? +
+

Sample payment

+
+ +

100.0

+
+

Amount to Pay

+
+ +

+ Select Payment Method +

+ +
+ + + + + + + +
); }; diff --git a/example/src/lib/store.tsx b/example/src/lib/store.tsx new file mode 100644 index 0000000..54f1ce6 --- /dev/null +++ b/example/src/lib/store.tsx @@ -0,0 +1,35 @@ +import { ReactNode, createContext, useContext, useState } from "react"; + +export type PaymentMethod = "dob" | "paymaya" | "gcash" | "grab_pay"; + +export interface StoreContextType { + paymentMethod: PaymentMethod | null; + setStore: , V extends StoreContextType[T]>( + key: T, + value: V + ) => void; +} + +const defaultStoreValues: StoreContextType = { + paymentMethod: null, + setStore: () => {}, +}; + +export const StoreContext = createContext(defaultStoreValues); + +export const StoreProvider = ({ children }: { children: ReactNode }) => { + const [storeValues, setStoreValues] = + useState(defaultStoreValues); + + const setStore: StoreContextType["setStore"] = (key, value) => { + setStoreValues((prev) => ({ ...prev, [key]: value })); + }; + + return ( + + {children} + + ); +}; + +export const useStore = () => useContext(StoreContext); diff --git a/example/src/pages/_document.tsx b/example/src/pages/_document.tsx index f4bbc8f..f883a6a 100644 --- a/example/src/pages/_document.tsx +++ b/example/src/pages/_document.tsx @@ -4,13 +4,11 @@ export default function Document() { return ( - - paymongo.js { const [currentStep, setCurrentStep] = useState(1); @@ -83,23 +84,36 @@ const Home: NextPage = () => {
-
- {currentStep > 1 && ( - - )} - {currentStep < 4 && ( - - )} +
+ + Powered by + + Omsimos + + +
+ {currentStep > 1 && ( + + )} + {currentStep < 4 && ( + + )} +
@@ -107,4 +121,12 @@ const Home: NextPage = () => { ); }; -export default Home; +const Wrapper = () => { + return ( + + + + ); +}; + +export default Wrapper; From b6c6eab933f95bea703e3e6ce3c9a427415b0a54 Mon Sep 17 00:00:00 2001 From: princejoogie Date: Sat, 1 Apr 2023 02:26:43 +0800 Subject: [PATCH 44/44] fix: font --- example/src/components/panels/payment-information.tsx | 2 +- example/src/pages/index.tsx | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/example/src/components/panels/payment-information.tsx b/example/src/components/panels/payment-information.tsx index 82e21d0..bf29c34 100644 --- a/example/src/components/panels/payment-information.tsx +++ b/example/src/components/panels/payment-information.tsx @@ -9,7 +9,7 @@ export const PaymentInformation = () => {

Sample payment

-

100.0

+

100.00

Amount to Pay

diff --git a/example/src/pages/index.tsx b/example/src/pages/index.tsx index 3ea90a4..ae19e0e 100644 --- a/example/src/pages/index.tsx +++ b/example/src/pages/index.tsx @@ -45,7 +45,10 @@ const Home: NextPage = () => {

aGFaA<1t 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